AppFuse1.7 Tutorial 之 CreateDAO (1)

<script type="text/javascript"> <!-- google_ad_client = "pub-2016433482135581"; google_ad_width = 728; google_ad_height = 90; google_ad_format = "728x90_as"; google_ad_type = "text_image"; google_ad_channel =""; //--> </script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script> 一. 创建一个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
 
 <iframe name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-2016433482135581&amp;dt=1114834431700&amp;format=728x90_as&amp;output=html&amp;ad_type=text_image&amp;u_h=768&amp;u_w=1024&amp;u_ah=740&amp;u_aw=1024&amp;u_cd=32&amp;u_tz=480&amp;u_his=9&amp;u_java=true" frameborder="0" width="728" scrolling="no" height="90" allowtransparency="65535"></iframe>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值