您的位置:首页 > 其它

hibernate的xml文件自动生成工具middlegen的使用

2011-11-21 10:32 567 查看
1、配置ant,ant-1.7.1 官方下载:http://ant.apache.org/bindownload.cgi(详细配置请参照我的上一篇文章)

2、配置middlegen

(1)下载,http://nchc.dl.sourceforge.net/sourceforge/hibernate/Middlegen-Hibernate-r5.zip
(2)解压后,将数据库驱动包(我这里是mysql-connector-java-5.1.17-bin.jar)放在D:\JAVA\important\Middlegen-Hibernate-r5\lib目录下;
(3)修改build.xml文件,
a、找到

<!DOCTYPE project [
   <!ENTITY
database SYSTEM "file:./config/database/hsqldb.xml">

   ]>

将hsqldb.xml改成mysql.xml
b、找到<property
name="name" value="airline"将airline改成自己的项目名
c、找到
<hibernate

   destination="${build.gen-src.dir}"

   package="model"

   genXDocletTags="flase"

   genIntergratedCompositeKeys="false"

   javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper"

   />

将package中的内容改成自己的包名

(4)到D:\JAVA\important\Middlegen-Hibernate-r5\config\database目录下找到mysql.xml,修改数据库,用户名和密码,将数据库驱动名改为(2)中添加的数据库驱动名称。
(5)运行
到cmd下,切换到D:\JAVA\important\Middlegen-Hibernate-r5目录下,运行,即可生成数据库表对应的hbm.xml文件,保存在D:\JAVA\important\Middlegen-Hibernate-r5\build\gen-src+(3)b中自定义的包名路径下。

生成pojo类

将以下jar包复制到MiddleGen-Hibernate-r5文件夹lib目录

hibernate3.jar, hibernate-tools.jar, dom4j-1.6.1.jar, slf4j-log4j12-1.5.2.jar, slf4j-api-1.5.2.jar, slf4j-jdk14-1.5.2.jar, freemarker.jar

再次打开build.xml文件

修改第212行

<target name="hbm2java" description="Generate .java from .hbm files.">

<taskdef

name="hbm2java"

classname="net.sf.hibernate.tool.hbm2java.Hbm2JavaTask"

classpathref="lib.class.path"

/>

<hbm2java output="${build.gen-src.dir}">

<fileset dir="${build.gen-src.dir}">

<include name="**/*.hbm.xml"/>

</fileset>

</hbm2java>

</target>



<target name="hbm2java" description="Generate .java from .hbm files.">

<taskdef

name="hbm2java"

classname="org.hibernate.tool.ant.HibernateToolTask"

classpathref="lib.class.path"

/>

<hbm2java destdir="${build.gen-src.dir}">

<configuration>

<fileset dir="${build.gen-src.dir}">

<include name="**/*.hbm.xml"/>

</fileset>

</configuration>

<hbm2java jdk5="true"/>

</hbm2java>

</target>

由于Middlegen生成的hbm文件是里面的引用是hibernate2的DTD,因此修改生成的hbm.xml里面hibernate2的DTD 由

<!DOCTYPE hibernate-mapping PUBLIC

"-//Hibernate/Hibernate Mapping DTD 2.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

变为

<!DOCTYPE hibernate-mapping PUBLIC

"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

(也就是将2变为3,这样就不会出现“Don’t use old DTDs,read the Hibernate3.x Migration Guide!”错误)

运行ant hbm2java,生成的POJO文件位于build/mysrc/com/test/model文件夹下。

附:

生成POJO时所需jar包

hibernate3.jar

dom4j-1.6.1.jar

可以点击

http://nchc.dl.sourceforge.net/sourceforge/hibernate/hibernate-distribution-3.3.1.GA-dist.zip 下载,dom4j-1.6.1.jar位于 hibernate-distribution-3.3.1.GA/lib/required下(也可以通过http://nchc.dl.sourceforge.net/sourceforge/dom4j/dom4j-1.6.1.zip 下载)

hibernate-tools.jar

freemarker.jar

可以点击

http://jaist.dl.sourceforge.net/sourceforge/jboss/HibernateTools-3.2.4.Beta1-R200810311334.zip 下载,解压后jar包位于

plugins/org.hibernate.eclipse_3.2.4.Beta1-R200810311334/lib/tools

slf4j-api-1.5.2.jar

slf4j-jdk14-1.5.2.jar

slf4j-log4j12-1.5.2.jar

可以点击http://www.slf4j.org/dist/slf4j-1.5.2.zip 下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: