使用Appfuse自動生成Pojo和hbm檔
參考資源使用 AppFuse 的七個理由
http://www.ibm.com/developerworks/cn/java/j-appfuse/index.html
使用 AppFuse 快速構建 J2EE 應用
http://www.ibm.com/developerworks/cn/java/j-lo-appfuse/index.html
Appfuse包含的東西很多,我們這邊只會主要是使用到appgen這個工具
1.準備好DB環境,這邊是使用Oracle。本來是想用DB2來測,可是出現了錯誤訊息:不支援的encording,在想是不是不支援Big5呢><。
2.下載Appfuse,目前版本是1.9.4
https://appfuse.dev.java.net/servlets/ProjectDocumentList
3.解壓縮後準備填寫DB連線資料,找到build.properties和properties.xml這兩個檔案。
我在測試時發現如果只修改build.properties他執行時一直組不成我真正要的url,氣到乾脆直接去把properties.xml裡有可能的參數都改成我設的變數。
build.properties
database.type=oracle database.host=127.0.0.1 database.name=oras01 database.admin.url=jdbc:oracle:thin:@127.0.0.1:1521:oras01 database.admin.username=XXX database.admin.password=XXX database.schema=XXX hibernate.dialect=org.hibernate.dialect.OracleDialect database.driver_class=oracle.jdbc.driver.OracleDriver |
properties.xml
<!-- Defaults for database.properties --> <property name="database.jar" location="${mysql.jar}"/> <property name="database.type" value="mysql"/> <property name="database.name" value="${database.name}"/> <property name="database.host" value="localhost"/> <property name="database.username" value="${database.admin.username}"/> <property name="database.password" value="${database.admin.password}"/> <!-- database URL for creating other dbs - used in db-create target --> <property name="database.admin.url" value="${database.admin.url}"/> <property name="database.admin.username" value="${database.admin.username}"/> <property name="database.admin.password" value="${database.admin.password}"/> <property name="hibernate.dialect" value="${hibernate.dialect}"/> <property name="database.driver_class" value="${database.driver_class}"/> <property name="database.url" value="${database.admin.url}"/> <property name="database.show_sql" value="true"/> <property name="database.schema" value=""/> |
3.把oracle的jdbc jar檔ojdbc14.jar複製到 \extras\middlegen\lib\middlegen-2.1\ 下
4.到 extras\appgen\下執行cmd,執行:
set ANT_OPTS=-Xmx512M ant install |
之後跟著指令輸入值,就可以在 appfuse\extras\middlegen\scr 下看到你的java和 hbm檔了
P.S 1 執行的時候如果出現找不到CATALINA_HOME參數這個錯誤的話,在系統變數里新增該變數指向你的Tomcat根目錄
P.S 2 mySQL資料庫不用,可是若DB為Oracle則在build.properties要多設一個參數database.schema=bli,否則在執行時會告訴你找不到該Table。參考 http://chq.name/content/view/127/49/
P.S 3 在執行ant install要消耗的memory似乎不小因而出現了OutOfMemoryError,解決方法先把JVM加大set ANT_OPTS=-Xmx512M 。參考 http://tag.csdn.net/Article/2f4ce478-d25b-4473-adae-d62a305968d0.html