--??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 failonerror="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}"http://去掉
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>
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=678615
posted on 2006-04-27 10:27
崛起的程序員 閱讀(396)
評論(0) 編輯 收藏 所屬分類:
java