hibernate應用配置說明-middlegen和hbm2java的配置

--  hibernate應用配置說明 -- Middlegen
************************************
ant配置
************************************
下載ant,解壓
將ant考到c:跟目錄
環境變量里加上ANT_HOME=c://ant
PATH=c://ant//bin;
進入命令行模式,輸入: ant
如:
C://>ant
Buildfile: build.xml does not exist!
Build failed
出現該顯示,說明ant已配置成功

************************************
Middlegen hibernate配置
************************************
是hibernate的O/R Mapping工具
http://hibernate.bluemars.net/98.html
可以生成*.hbm.xml文件,是hibernate所需的映射文件
下載Middlegen Hibernate,解壓,如D://hiber//Middlegen-Hibernate-r1//
進入目錄,
【配置數據庫,以MS SQLSERVER爲例,JDBC驅動爲JSQL Connect(www.j-netdirect.com)】
1、進入/config/database/目錄
2、將JSQLConnect.jar驅動考到/lib/目錄
3、編輯mssql.xml文件,如下
<property name="database.script.file" value=""/>
<property name="database.driver.file" value="${lib.dir}/JSQLConnect.jar"/>
<property name="database.driver" value="com.jnetdirect.jsql.JSQLDriver"/>
<property name="database.url" value="jdbc:JSQLConnect://數據庫服務器名或IP/database=要操作的數據庫名"/>
<property name="database.userid" value="數據庫用戶名"/>
<property name="database.password" value="數據庫密碼"/>
<property name="database.schema" value=""/>
<property name="database.catalog" value=""/>
<property name="jboss.datasource.mapping" value="MS SQLSERVER2000"/>

【編輯Middlegen hibernate配置】
1、編輯build.xml
2、修改數據庫默認文件,找到這行,大概在22行左右
<!DOCTYPE project [
<!--ENTITY database SYSTEM "file:./config/database/hsqldb.xml"-->//原內容,註解掉
<!ENTITY database SYSTEM "file:./config/database/mssql.xml">//加上
]>

3、編輯輸出的根目錄名,找到該行,大概在30行左右
<!--property name="name" value="airline"/-->//原內容,註解掉
<property name="name" value="com"/>//加上,value爲你想要的,如com

4、編輯輸出的包名,找到該行,大概在210行左右
<!--hibernate
destination="${build.gen-src.dir}"
package="${name}.hibernate"
/-->//原內容,註解掉
<hibernate
destination="${build.gen-src.dir}"
package="${name}.test"
/>//加上,生成的xml文件裏,會以com.test作爲你的package
輸出目錄爲/build/gen-src/com/test/*.hbm.xml(*爲對應的表,命名爲你自己所定義的名稱)

5、定義輸出的目錄,找到該行,在文檔最後
<target name="validate">
<xmlvalidate failοnerrοr="no" lenient="no" warn="yes">
   <fileset dir="${build.gen-src.dir}/com/test" includes="*.xml" />改成你要輸出的目錄結構,最好以你的包的結構作爲目錄結構
</xmlvalidate>
</target>

6、在連接Sql server時,提示數據庫連接成功,但說沒有表,找到該行
<middlegen
appname="${name}"
prefsdir="${src.dir}"
gui="${gui}"
databaseurl="${database.url}"
initialContextFactory="${java.naming.factory.initial}"
providerURL="${java.naming.provider.url}"
datasourceJNDIName="${datasource.jndi.name}"
driver="${database.driver}"
username="${database.userid}"
password="${database.password}"

schema="${database.schema}"//去掉
catalog="${database.catalog}" //去掉,這樣就可以了
>

【配置完畢】
配置完畢後,在根目錄下運行ant
則會出現一個可視化的操作界面,如圖
默認會根據表名和字段名對應生成相應的名稱,當然你也可以自己定義,對應沒問題,則可以點擊【Generate】,在可發現
/build/gen-src/com/test/*.hbm.xml,會生成相應XML文件

************************************
hibernate-extensions-2.0應用配置
************************************
這是hibernate的工具,/tools下有3個工具
class2hbm.bat 根據你自己對應表所寫的java文件,生成相應的*.hbm.xml文件
ddl2hbm.bat 根據你的數據庫表,自動生成*.hbm.xml和*.java文件(如果不需要詳細的配置,建議用這種方式生成*.xml和*.java文件)
hbm2java.bat 根據*.hbm.xml生成相應的*.java文件

用之前,首先得用ant編譯
【注意的地方】
build.xml
<property name="hibernate-core.home" value="../../hibernate-2.0"/>//找到該行,40行左右
value爲你得hibernate解壓目錄

【編譯完畢】
編譯完的文件存放在/tools/target/hibernate-tools-2.0/
現在可以用編譯完的執行文件進行映射轉化了

【應用】
hbm2java.bat
1、進入命令行模式,進入hibernate-tools-2.0目錄,進入/bin
2、首先執行setenv.bat,設置一下環境變量,運行前,先檢查一下setenv.bat文件,用文本編輯器打開,找到如下行:
set JDBC_DRIVER=C://Progra~1//SQLLIB//java//db2java.zip;C://mm.mysql-2.0.14//mm.mysql-2.0.14-bin.jar;D://j2sdk1.4.1//lib//JSQLConnect.jar
//將你的JDBC驅動添加進去
rem set HIBERNATE_HOME=..//..//hibernate-2.0//原來的
set HIBERNATE_HOME=D://hiber//hibernate-2.0//改成你當前hibernate-2.0所在目錄
3、執行hbm2java.bat D://hiber//com//test//*.xml //後面所跟的是你用Middlegen Hibernate所生成的*.hbm.xml文件

ddl2hbm.bat
1、2步驟如hbm2java
3、運行ddl2hbm,會彈開一個圖形界面
4、在Connection面板裏,輸入JDBC驅動的相關信息,如:
DriverClass:com.jnetdirect.jsql.JSQLDriver
ConnectionUrl:jdbc:JSQLConnect://服務器名/database=數據庫名&user=用戶名&password=密碼(注意這是我所用的驅動支持將用戶名和密碼放在後面這種格式)
UserName:用戶名(我的ConnectionUrl已填寫該信息,這裏可不填)
PassWord:密碼(我的ConnectionUrl已填寫該信息,這裏可不填)
5、在Code面板裏,可以定義包名
6、在Output面板裏,可以定義文件輸出路徑
7、設置好後,進入Table面板,點擊tables…按鈕,如果數據庫連接成功,則會彈開一個小面板,選擇你要映射的數據庫,點擊確定即可,此時
Table面板裏就會顯示該數據庫的所有表格,選擇你需要的表,點擊“Generate”,則在輸出路徑裏生成*.hbm.xml和*.java文件

【注意的地方】
因爲Sqlserver不支持hibernate裏的sequences類型,在測試代碼時會出錯,你打開生成的*.hbm.xml

<id column="test_id" name="id" type="java.lang.Long">
<generator class="identity"/>//這裏改成identity即可
</id>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章