俺是java和hibernate和ant的絕對的三料菜鳥。hibernate似乎很好用,但是寫表對應的類和.hbm.xml文件實在頭大。所以俺想找一款可以自動生成這些文件的工具。
你要是沒有ant,請先下載ant。俺一直打不開官方的地址,所以從pchome下載
http://dlfjgwbn.pchome.net:8080/development/java/apacheant161.zip。解壓文件后就可以用了,但等等,你需要安裝了jdk,設置了CLASSPATH,JAVA_HOME。然后把ant的目錄下的bin文件夾添加到path環境變量,設置ANT_HOME。
我的機器上的設置:
CLASSPATH?.;D:\jdk150\lib\tools.jar;D:\jdk150\jre\lib\rt.jar
JAVA_HOME?D:\jdk150
Path??D:\apache-ant-1.6.1\bin;
ANT_HOME?D:\apache-ant-1.6.1
?
然后下載并解壓middlegen。我解壓到了D:\hibernate-3.0\middlegen-2.1。好了,現在可以開始build hibernate需要的文件了,有個D:\hibernate-3.0\middlegen-2.1samples的文件夾,它存放了一個build的例子,我決定修改這個例子然后使用。
?
但是再等等。middlegen需要你提供一些必要的配置。它需要連接到你的數據庫,所以你需要給它提供數據庫的連接信息和驅動庫。各種數據庫的配置信息在目錄D:\hibernate-3.0\middlegen-2.1\samples\config\database 下面。俺的數據庫是mssql,所以俺打開了mssql.xml文件,配置了信息如下:
?? <property name="database.script.file"?????????? value=""/>
?? <property name="database.driver.file"?????????? value="${lib.dir}/mssqlserver.jar"/>
?? <property name="database.driver"??????????????? value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
?? <property name="database.url"?????????????????? value="jdbc:microsoft:sqlserver://localhost:1433"/>
?? <property name="database.userid"??????????????? value="sa"/>
?? <property name="database.password"????????????? value="haha"/>
?? <property name="database.schema"??????????????? value="dbo"/>
?? <property name="database.catalog"?????????????? value="aljoin_info"/>
?? <property name="jboss.datasource.mapping"?????? value="MS SQLSERVER"/>
aljoin_info是俺的數據庫名稱。并把msbase.jar,mssqlserver.jar,msutil.jar拷貝到D:\hibernate-3.0\middlegen-2.1\samples\lib目錄。
然后編輯D:\hibernate-3.0\middlegen-2.1\samples\build.xml文件,將"ENTITY database SYSTEM"的值改成"file:./config/database/mssql.xml"
?
更改這個build的其它屬性。build.xml中更改project的屬性:
<project name="Middlegen aljoni_info" default="hbm2java" basedir=".">
?...
?<property name="name"?????????????????????????? value="com.aljoin.gas"/>
刪除D:\hibernate-3.0\middlegen-2.1\samples\build下的所有文件。然后打開命令行,
cd D:\hibernate-3.0\middlegen-2.1\samples
ant
這時候ant會自動讀build.xml文件,找到project,運行名為"hbm2java"及其依賴的target.因為俺是菜鳥,什么ejb,jbo俺通通用不到.如果你不是菜鳥,可以設置成default="all",而且如果您的系統沒有安裝jboss之類的會出錯,但我想如果您不是菜鳥應該也不會看到這里了hoho :p
?
在跳出的程序界面上按generate。等待結束,然后關閉程序界面。在命令行窗口看到正在生成.java文件的信息。
查看D:\hibernate-3.0\middlegen-2.1\samples\build目錄。上帝保佑你會看到一些你需要的文件。
?
到寫完這篇爛文,一個早上已經過去,俺又把青春貢獻給了黨-_-||