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 改變資料庫,同時更新這些自動產生的檔案。