以
SQL Server
配置
Middlegen
和
extensions
產生
hbm
和
POJO 作者:楊曉(http://blog.sina.com.cn/u/1237288325)1、 所使用的軟體及其版本如下:ant-1.6.5Middlegen-Hibernate-r5hibernate-extensions-2.1hibernate-2.1.6以上均解壓到D盤 2、 配置ant將ant考到D:根目錄
環境變數裡加上ANT_HOME=D://antPATH=D://ant//bin;
在DOS命令列下輸入ant, 如果出現如下提示,就說明ant已配置成功了:Buildfile: build.xml does not exist!
Build failed 3、 配置Middlegen-Hibernate:3.1 配置mssql.xml檔案,此檔案用來配置SQL Server資料庫連接將SQL Server三個jar檔案(mssqlserver.jar; msbase.jar; msutil.jar)copy到Middlegen-Hibernate-r5/lib目錄中。在Middlegen-Hibernate-r5/config/database目錄中有一個mssql.xml檔案,是用來配置SQL Server資料庫的串連的。內容修改如下(紅色為修改部分)為:<property name="database.script.file" value="${src.dir}/sql/${name}-mssql.sql"/><property name="database.driver.file" value="${lib.dir}/mssqlserver.jar"/> <property name="database.driver" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/><!—粗體部分的結構為: //資料庫伺服器名或IP;database=要操作的資料庫名 --><property name="database.url" value="jdbc:microsoft:sqlserver:
//localhost:1433;DatabaseName=Northwind"/><property name="database.userid" value="admin"/><property name="database.password" value="admin"/><!-- In MS SQL database.schama is the owner of the tables as displayed by SQL Server Enterprise Manager --><property name="database.schema" value="dbo"/><!-- In MS SQL database.catalog is the name of database such as 'Northwind' --><property name="database.catalog" value=" Northwind"/><property name="jboss.datasource.mapping" value="MS SQLSERVER"/> 3.2 配置Middlegen-Hibernate-r5的ant運行檔案build.xml<!DOCTYPE project [ <!ENTITY database SYSTEM "file:./config/database/mssql.xml">]>指出使用的資料庫設定檔。<project name="Middlegen Hibernate" default="all" basedir="."> <property file="${basedir}/build.properties"/> <property name="name" value="sample"/>指出產生的*.hbm.xml輸出的路徑: <property name="build.gen-src.dir" value="C:/sample"/>配置hibernate: <hibernate destination="${build.gen-src.dir}"package="org.hibernate.sample" ——————指出hbm所在的包的位置。 genXDocletTags="true" ——————指出hbm.xml中是否需要XDoclet Tags。 genIntergratedCompositeKeys="false" javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper" />配置Middlegen: <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}" includeViews="true"——————指出包括視圖。 > 4、 運行Middlegen-Hibernate:在Middlegen-Hibernate目錄下運行ant,進入Middlegen-Hibernate的圖形介面。可以設定表,和欄位的特性。然後按Genarate,產生hbm.xml檔案。 5、 配置hibernate-extensions5.1 在hibernate-extensions/tools/bin目錄下有3個工具,他們的功能如下:5.1.1 class2hbm.bat根據POJO class 產生對應檔也就是根據你自己對應表所寫的java檔案,產生相應的*.hbm.xml檔案;
5.1.2 ddl2hbm.bat由資料庫匯出庫表結構,並產生對應檔以及POJO。這個功能與MiddleGen 的功能重疊,也不夠成熟(實際上已經被廢棄,不再維護);
5.1.3 hbm2java.bat根據對應檔產生對應的POJO,即根據Middlegen產生的*.hbm.xml檔案再產生相應的*.java檔案 5.2 在hibernate-extensions-2.1.2/tools/bin目錄有一個setenv.bat檔案,改變其內容為:set JDBC_DRIVER=D:/Middlegen-Hibernate-r5/lib/mssqlserver.jarset HIBERNATE_HOME=../../hibernate-2.1.6set CORELIB=%HIBERNATE_HOME%/libset LIB=../libset PROPS=%HIBERNATE_HOME%/srcset CP=%JDBC_DRIVER%;%PROPS%;%HIBERNATE_HOME%/hibernate2.jar;%CORELIB%/commons-logging-1.0.4.jar;%CORELIB%/commons-collections-2.1.1.jar;%CORELIB%/commons-lang-1.0.1.jar;%CORELIB%/cglib-full-2.0.2.jar;%CORELIB%/dom4j-1.4.jar;%CORELIB%/odmg-3.0.jar;%CORELIB%/xml-apis.jar;%CORELIB%/xerces-2.4.0.jar;%CORELIB%/xalan-2.4.0.jar;%LIB%/jdom.jar;%LIB%/../hibernate-tools.jar 6、 運行hibernate-extensions,根據hbm.xml產生POJO檔案在DOS中運行hbm2java c:/sample/org/hibernate/sample/*.xml --output=c:/sample/ 關於作者:
楊曉,北京工商大學電腦碩士,曾在NEC-SI、Softbrain 擔任java開發工作。
部落格:http://blog.sina.com.cn/u/1237288325
MSN: South-Titan@hotmail.com