1.0          其他语言
 
 

4.2 使用 Middlegen 生成数据库 model 和 DAO 类

 
 

在 VPetStore\middlegen 目录下,有一个示范的 Ant build 文件 build_dao.xml。可以在此基础上进行修改后应用于自己的应用程序.

db.model.package=org.vpetstore.dbmodel
db.dao.package=org.vpetstore.dao.generated
build.gen-src.dir=../src
build.gen-src.db.model.dir=../src/org/vpetstore/dbmodel
build.gen-src.db.dao.dir=../src/org/vpetstore/dao/generated

模板文件是 tbl_dao.vm 和 tbl_model.vm,都是按照 Apache Velocity 语法写的纯文本文件。当然,也可以根据自己应用的需要,修改这些模板文件。

对于每个表,可以产生一个 Java DAO 类和一个 Java model 类。在产生的 DAO 类中,有以下几个函数: insert(), getAll(), deleteByKey(), getByKey(), update()。函数 deleteByKey(), getByKey() 只能用于单主键的表,对于组合主键的表,不会产生这两个函数。其他函数可以同时用于单主键和组合主键的表。

自动生成的代码文件应该放在不同的目录,与手工写的代码分开。比较好的做法是,只允许一个程序员可以更新自动生成的文件。只有他可以运行 Ant 脚本产生数据库对应的 DAO 和 model 代码文件。也可以作为数据库管理员(DBA)工作的一部分,开发过程中每次 DBA 改变数据库,同时更新这些自动产生的文件。