Hibernate代码生成初接触之Middlegen生成hbm文件和java代码

上一篇http://www.cnblogs.com/Yuinro/p/3524843.html Eclipse 配置SSH 详解

因为最近接触了SSH配置,但是由于Hibernate代码涉及的代码范围比较大,

要是手动编写38个数据表的Hibernate代码文件,

这不是我希望的,于是就有了本文。

准备工作

下载

Middlegenide_1.3.3 http://sourceforge.jp/projects/sfnet_middlegen/releases/

Middlegen-Hibernate-r5 http://sourceforge.net/projects/hibernate/files/hibernate-middlegen/hibernate%20plugin%20rel-5/

HibernateTools-3.2.4.GA-R200903141626-H5 http://sourceforge.net/projects/jboss/files/JBossTools/JBossTools3.0.0.x/HibernateTools-3.2.4.GA-R200903141626-H5.zip/download

apache-ant-1.9.3 bin http://ant.apache.org/bindownload.cgi

mysql-connector-java-5.1.28 http://dev.mysql.com/downloads/connector/j/

解压以上所有包

添加环境变量 Ant

Ant_HOME=D:Program Files (x86)apache-ant-1.9.3

path=%Ant_HOME%in

配置

1.首先打开 Middlegen-Hibernate-r5configdatabase* 这里有所有连接数据库的xml文件

  我使用mysql5.1,所以就选择了 mysql.xml

  打开编辑 粉色标记的地方为需要编辑值

   <!-- =================================================================== -->
   <!-- ant properties/targets for mysql                                    -->
   <!-- note: this is not a proper xml file (there is no root element)      -->
   <!--       it is intended to be imported from a *real* xml file          -->
   <!-- =================================================================== -->

   <property name="database.script.file"           value="${src.dir}/sql/${name}-mysql.sql"/>
   <property name="database.driver.file"           value="${lib.dir}/mysql-connector-java-5.1.28-bin.jar"/>
   <property name="database.driver.classpath"      value="${database.driver.file}"/>
   <property name="database.driver"                value="org.gjt.mm.mysql.Driver"/>
   <property name="database.url"                   value="jdbc:mysql://localhost/uel"/>
   <property name="database.userid"                value="root"/>
   <property name="database.password"              value="密码"/>
   <property name="database.schema"                value=""/>
   <property name="database.catalog"               value=""/>

   <property name="jboss.datasource.mapping"       value="mySQL"/>

我这里使用的是mysql-connector-java-5.1.28-bin.jar

需要将 mysql-connector-java-5.1.28-bin.jar 复制到 Middlegen-Hibernate-r5lib 目录下

然后到目录 Middlegen-Hibernate-r5 根目录 编辑 build.xml 文件

找到下面代码 将数据库连接文件改为你需要的,我这里使用 mysql.xml

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

 然后找到下面代码

         <hibernate
            destination="${build.gen-src.dir}"
            package="org.uel.beans"
            genXDocletTags="true"
            genIntergratedCompositeKeys="false"
            javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
         />

注意标记地方为需要保存的包名称,可随意

设置genXDocletTags为true,包含XDocletTag

最后到 Middlegen-Hibernate-r5/middlegen-lib 使用压缩包方式打开 middlegen-hibernate-plugin-2.1.jar 文件

编辑 middlegen-hibernate-plugin-2.1.jarmiddlegenpluginshibernate 下的文件 hibernate.vm

打开 hibernate.vm 文件可以见到这是hbm配置文件可以根据你的喜好提前编辑需求,当然也可跳过,待生成完成后再对生成代码进行编辑修改

不过既然我们使用 hibernate3 那么文档得改为 3.0.dtd

生成

使用cmd的方式访问 Middlegen-Hibernate-r5 目录

然后直接输入命令 ant 即可

之后会运行程序 Middlegen , Middlegen 不可直接点击运行

运行 Middlegen 后,你会见到(如下图)

圈内数字1:开始生成

圈内数字2:连接数据库所有表

圈内数字3:自定义配置信息

生成代码会存在于 Middlegen-Hibernate-r5uildgen-src 文件夹内

这时,文件夹内只存在 *.hbm.xml 文件

*.java 文件并没有生成,下面将继续进行配置并生成 *.java 文件

回到目录 Middlegen-Hibernate-r5 根目录 编辑 build.xml 文件

找到下面代码 修改成如下

   <!-- =================================================================== -->
   <!-- Run hbm2java    depends="middlegen"                                 -->
   <!-- =================================================================== -->
   <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>


然后将 刚才下载的 HibernateTools-3.2.4.GA-R200903141626-H5 文件夹

复制

HibernateTools-3.2.4.GA-R200903141626-H5.zippluginsorg.hibernate.eclipse_3.2.4.GA-R200903141626-H5lib ools

目录下的文件 freemarker.jar、hibernate-tools.jar

HibernateTools-3.2.4.GA-R200903141626-H5.zippluginsorg.hibernate.eclipse_3.2.4.GA-R200903141626-H5libhibernate

目录下的文件 dom4j-1.6.1.jar

Middlegen-Hibernate-r5/lib 目录下

最后一步

使用cmd的方式访问 Middlegen-Hibernate-r5 目录

然后输入命令 ant hbm2java 即可

当执行完毕后,你会发现 *.java 文件

已经存在于 Middlegen-Hibernate-r5uildgen-src 文件夹内

本文已经完毕,如有建议或技术交流请通过回复进行沟通.

原文地址:https://www.cnblogs.com/buyinji/p/3526150.html