|
|
AppFuse1.7 Tutorial 之 CreateDAO (1) |
|
|
作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站 |
一. 创建一个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 
|
|
相关文章:相关软件: |
|