-- 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\\ 進入目錄, 【配置javascript:;" onClick="javascript:tagshow(event, '%CA%FD%BE%DD%BF%E2');" target="_self">數據庫,以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> |
原文轉自:http://www.anti-gravitydesign.com