• 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 文件夹内

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

  • 相关阅读:
    相对路径与绝对路径的区别
    c语言 蛇形填空
    Java最大公约数 最小公倍数
    c语言 韩信点兵
    c语言倒三角形
    Java 分解质因数
    Java 求水仙花数
    Java 求素数
    Java基于OpenCV实现走迷宫(图片+路线展示)
    Java之函数式接口@FunctionalInterface详解(附源码)
  • 原文地址:https://www.cnblogs.com/buyinji/p/3526150.html
Copyright © 2020-2023  润新知