appfuse1.7帮助中创建DAO段代码

类别:Java 点击:0 评论:0 推荐:

/*
 * Created on 2005-4-21
 */
package org.appfuse.model;

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;

/**
 * @hibernate.class table="person"
 */
public class Person extends BaseObject {

 private Long id;

 private String firstName;

 private String lastName;

 /**
  * @return Returns the firstName.
  * @hibernate.property column="first_name" length="50"
  */
 public String getFirstName() {
  return firstName;
 }

 /**
  * @param firstName
  *                     The firstName to set.
  */
 public void setFirstName(String firstName) {
  this.firstName = firstName;
 }

 /**
  * @return Returns the id.
  * @hibernate.id column="id" generator-class="native" unsaved-value="null"
  */
 public Long getId() {
  return id;
 }

 /**
  * @param id
  *                     The id to set.
  */
 public void setId(Long id) {
  this.id = id;
 }

 /**
  * @return Returns the lastName.
  * @hibernate.property column="last_name" length="50"
  */
 public String getLastName() {
  return lastName;
 }

 /**
  * @param lastName
  *                     The lastName to set.
  */
 public void setLastName(String lastName) {
  this.lastName = lastName;
 }

 /**
  * @see java.lang.Object#equals(Object)
  */
 public boolean equals(Object object) {
  if (!(object instanceof Person)) {
   return false;
  }
  Person rhs = (Person) object;
  return new EqualsBuilder()
     .append(this.firstName, rhs.firstName)
     .append(this.id, rhs.id)
     .append(this.lastName, rhs.lastName).isEquals();
 }
 /**
  *     public boolean equals(Object object) {
        if (!(object instanceof Address)) {
            return false;
        }

        Address rhs = (Address) object;

        return new EqualsBuilder().append(this.postalCode, rhs.postalCode)
                                  .append(this.country, rhs.country)
                                  .append(this.address, rhs.address)
                                  .append(this.province, rhs.province)
                                  .append(this.city, rhs.city).isEquals();
    }
  */
 /**
  * @see java.lang.Object#hashCode()
  */
 public int hashCode() {
  return new HashCodeBuilder(-1196181247, -1232855255)
        .append(this.firstName)
        .append(this.id)
        .append(this.lastName).toHashCode();
 }

 /**
  * @see java.lang.Object#toString()
  */
 public String toString() {
  return new ToStringBuilder(this)
        .append("lastName", this.lastName)
        .append("id", this.id)
        .append("firstName", this.firstName).toString();
 }
}

##############################################################
package org.appfuse.dao;

import org.appfuse.model.Person;
import org.springframework.dao.DataAccessException;

public class PersonDAOTest extends BaseDAOTestCase {
 //一个基本的初始化、销毁PersonDAO对象的Junit测试
 private Person person = null;

 private PersonDAO dao = null;

 protected void setUp() throws Exception {
  super.setUp();
  dao = (PersonDAO) ctx.getBean("personDAO");
 }

 //  "ctx" 对象是对Spring的ApplicationContext的一个引用,它在BaseDAOTestCase's
 // 类的静态代码块中被初始化。
 protected void tearDown() throws Exception {
  super.tearDown();
  dao = null;
 }

 //-----------------------------------------------------------------------------------------------------------------------------
 public void testGetPerson() throws Exception {
  person = new Person();
  person.setFirstName("Matt");
  person.setLastName("Raible");

  dao.savePerson(person);
  assertNotNull(person.getId());

  person = dao.getPerson(person.getId());
  assertEquals(person.getFirstName(), "Matt");
 }

 public void testSavePerson() throws Exception {
  person = dao.getPerson(new Long(1));
  person.setFirstName("Matt");

  person.setLastName("Last Name Updated");

  dao.savePerson(person);

  if (log.isDebugEnabled()) {
   log.debug("updated Person: " + person);
  }

  assertEquals(person.getLastName(), "Last Name Updated");
 }

 public void testAddAndRemovePerson() throws Exception {
  person = new Person();
  person.setFirstName("Bill");
  person.setLastName("Joy");

  dao.savePerson(person);

  assertEquals(person.getFirstName(), "Bill");
  assertNotNull(person.getId());

  if (log.isDebugEnabled()) {
   log.debug("removing person...");
  }

  dao.removePerson(person.getId());

  try {
   person = dao.getPerson(person.getId());
   fail("Person found in database");
  } catch (DataAccessException dae) {
   log.debug("Expected exception: " + dae.getMessage());
   assertNotNull(dae);
  }
 }

}


本文地址:http://com.8s8s.com/it/it10158.htm