AppFuse1.7 Tutorial 之 CreateDAO (1)

一. 创建一个POJO 在src/dao/**/model 路径里面
  1.创建这个Person确实没有什么难度,呵呵 不过在继承BaseObject的时候麻烦了一点,Matt 介绍了生成
  (equals(),hashCode() and toString())的两个Eclipse plugin ,我两款都适用了。 commonclipse
  生成的代码有点错误,没有仔细的研究 不过他目前只是支持Eclipse . 使用 Commons4E 就没有出现这样的
  问题,不过Commons4E 不能选择我需要的变量,全部都Generate 出来了,在使用的时候可以两个一起根据需要来
  使用。
  2.(ant setup-db)
  After Generated Getters and Setters  就是添加 XDoclet tags 了 , 以前在一个项目中开发EJB的时候也用过XDoclet,理解起来没有什么难度,
   也就是在class Person 的Javadoc上面 @hibernate.class table="person" ,然后就是变量里面的了。XDoclet tags 都必须放到getters 上面的
   Javadoc里面,这样以后ant build的时候就会在数据库里面生成一个 “person” 的表和相应的字段。
  同时在build/dao/gen/**/model下面会生成Hibernate O/R mapping(对象和数据关系库的映射)的xml文件(Person.hbm.xml)
 
二.创建DAOTest -测试驱动开发(PS: 以前在开发的时候没有这么做过,确实觉得挺别扭的。不过作者鼓励我们这么做,
                             而且会提高代码质量和效率,既然so good Why don't try to do)
    作者介绍用AppGen可以生成所有后面AppFuse所需要的类,不过专家还是鼓励我们在完成这个Tutorials的时候还是Step by Step Code
    在 ”test/dao/**/dao“ 下面创建 PersonDAOTest.java .做这步的时候如果你去稍微了解一下JUnit的话或许效果更好一些。JUnit 确实
    是一个不错的测试框架,你可以看《JUnit in action》,那是一本不错的书。
   
三.创建一个DAO 接口去执行CRUD的 (src/dao/**/dao)
 就是偶们常常说的对接口编程。这个inerface确实很easy ,在PersonDAO.java中定义基本的CRUD方法,而且Spring封装了所有的
 RuntimeException 连异常Exception都不用抛了。
 
四.创建一个PersonDAO的实现类,实现他的接口还要继承BaseDAOHibernate。(src/dao/**/dao/hibernate)
 
五. So for So good
   如果你现在就 ant test-dao -Dtestcase=PersonDAO.会出现一个error: 告诉我们需要configure spring
   这样我们就的在 src/dao/**/dao/hibernate/applicationContext-hibernate.xml中配置他们的关系,告诉Spring
   where is the Person.hbm.xml
  
 <property name="mappingResources">
     <list>
    
         <value>org/appfuse/model/Person.hbm.xml</value>
         
         <value>org/appfuse/model/Role.hbm.xml</value>
         <value>org/appfuse/model/User.hbm.xml</value>
         <value>org/appfuse/model/UserCookie.hbm.xml</value> 
     </list>
 </property> 
 
 添加下面的代码 bind PersonDAOHibernate to PersonDAO
 <!-- PersonDAO: Hibernate implementation -->
 <bean id="personDAO" class="org.appfuse.dao.hibernate.PersonDAOHibernate">
     <property name="sessionFactory"><ref local="sessionFactory"/></property>
 </bean>
 
ps:由于我的粗心,添加上面代码的时候重复添加了。浪费了我几分钟。老实看到好像小日本一样讨厌的build failed
 用ant-reports可以把错误的信息报告发到build/test/reports下面,你可以去那里检查错误。
 最后还是看到了Build Successful --OH Yeah Baby,Yead Let Our call spring together
 
 

你可能感兴趣的:(AppFuse1.7 Tutorial 之 CreateDAO (1))