CRUD代码开发教程

   Author: 江南白衣  

  (作为入门文档将重写) 

   通过CRUD模块的开发,初步感受SpringSide的架构模式。7步成诗,8步才开发一个CRUD,J2EE还真不轻省啊。   

  我们用的是找出领域实体,设计数据库,生成hbm和POJO,编写代码的路线

   大家也可以选择找出领域实体,编写POJO,添加XDoclet Annotation生成hbm和DDL,编写代码的纯OO方式。  

1.设计并更新数据库结构

  HQLDB的操作指南见相关章节

2. 生成hbm与pojo

    参考项目中的几个hbm与pojo,分别代表了几种典型情况:

    customer--普通表 ,product-book---继承影射,orders--父子关系表

    可以手工编写,也可以使用自己喜欢的工具如MyEclipse自动生成。

3. 生成DAO/Manager

  我们建议除非是做一些框架性的东西,普通项目DAO与Manager可以合一。   

  一般继承于BaseHibernateDAO。基类里已存在默认的CRUD函数,子类只要用泛型语法声明自己管理的Entity类型如public class BookManager extends BaseHibernateDao<Book> 。详见持久层

 商业逻辑的加入参看OrderManager.java。如有业务异常,参见OrderException。

4.配置applicaitonContext文件

   基础的ApplicationContext.xml已配好。只要往applicationContext-manager.xml文件 依样添加新的service类即可,注意有非规则命名(get*,save*)的函数命名,要补充事务控制说明,参见OrderManager的节点。

5.写测试用例测试hbm,pojo,dao的正确性

    Dao测试用例基于BaseDaoTest, 参考BookManagerTest和OrderManagerTest的方式进行CRUD测试。

    为了测试前后的数据保持, 目前算法是默认回退,hibernate并不实际执行SQL命令。
    亦可选择默认提交看实际数据库操作的情况,测试后双击 load-default.bat重新从default-data.script初始化数据库。

6.编写CRUD controller

    参考BookManagerController.java,继承BaseManageController并参见Controller层文档 进行编写.

    注意BaseManageController是团队推荐的CRUD Controller,已经作了某些默认规定,只要实现某些回调函数即可。如果你想自己随便编写,可继承于BaseController。

    可以选择编写Controller的UnitTestCase,但不强制。

7.配置Controller

        依样修改bookstore-servlet.xml文件

8.编写CRUD JSP

     参考listBook.jsp 和 editBook.jsp

     注意使用JSP2.0 EL语法

     使用extremetable 显示多功能表格

     用jodd-form 简化绑定vo与form的绑定

     用spring-bind 在edit页 绑定bind and validate 出错信息