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

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 下载





你可能感兴趣的:(java,Hibernate,xml,数据库,工具,migration)