Hibernate配置(一):用MiddleGen生成映射文件和用hbm2java生成pojo

一、准备工作
   1、下载Hibernate、Hibernate-Extension和Middlegen-Hibernate。
个人认为这三个软件的配置和版本有一定的关联,建议初次配置时使用以下版本:hibernate-2.1.7、Middlegen-Hibernate-r5、hibernate-extensions-2.1.3,下面的配置方法就是针对这三个版本的。差点忘了说下下载地址了, http://prdownloads.sourceforge.net/hibernate/
   2、下载ant软件包。
   3、当然JDK环境也不能少的。

二、配置环境变量(我的电脑->系统属性->高级->环境变量)
   增加JAVA_HOME=jdk的安装目录(如c:/jdk)
   修改path,在path变量值最后加上d:/ant/bin;c:/jdk/bin
   进入cmd输入ant,如果出现下面情况说明ant不可用。
    

Buildfile:build.xml does not exist!

Build failed

 
三、构建映射文件和POJO
   将Hibernate、Hibernate-Extension和Middlegen-Hibernate三个文件解压到d:/Hiernate目录中。
   1、由数据库生成映射文件,数据库使用MYSQL
      建立数据库sample和表t_user,t_user中包括两个字段:自增主键"id"和用户名字段"name"。
      1)、将数据库驱动(如:mysql-connector-java-3.0.17-ga-bin.jar)放入MiddleGen目录下lib/的子目录下,进入MiddleGen目录下的config/database子目录,打开mysql.xml,作如下修改(<!--  -->格式段落为注释):

<!--数据库驱动文件路径-->
<property name="database.driver.file"           value="${lib.dir}/mysql-connector-java-3.0.17-ga-bin.jar"/>

<!--数据库URL-->
<property name="database.url"                   value="jdbc:mysql://localhost/sample"/>

<!--数据库用户名-->
<property name="database.userid"                value="root"/>

<!--数据库密码-->
<property name="database.password"              value="root"/>

 
      2)、修改MiddleGen目录下的build.xml构建文件
  • 目录数据库配置文件地址
    查找关键字"!ENTITY",得到
    <!ENTITY database SYSTEM "file:./config/database/hsqldb.xml">
     默认情况下,MiddleGen采用的都是hsqldb.xml,将其修改成我们所用的数据库配置文件(mysql.xml)
    <!ENTITY database SYSTEM "file:./config/database/mysql.xml">
  • Application Name
    查找"airline",得到
    <property name="name" value="airline"/>

    "airline"是MiddleGen配置中默认的Application Name,将其改为我们所定义的名称(如HibernateSample):
    <property name="name" value="HibernateSample"/>
  • 映射文件输出目录
    查找name="build.gen-src.dir",得到
    <property name="build.gen-src.dir"              value="${build.dir}/gen-src"/>

    修改value="${build.dir}/gen-src"使其指向我们所期望的目录中(如d:/Hibernate/src):
    <property name="build.gen-src.dir"              value="d:/Hibernate/src"/>
  • 对应该代码的package name
    查找"destination",得到

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


    将其改成我们所需要的package:

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

  • 查找<path id="lib.class.path">,得到

    <path id="lib.class.path">
          <pathelement path="${database.driver.classpath}"/>
          <fileset dir="${lib.dir}">
             <include name="*.jar"/>
          </fileset>
          <!-- The middlegen jars -->
          <!--fileset dir="${basedir}/.."-->
          <fileset dir="${basedir}/middlegen-lib">
             <include name="*.jar"/>
          </fileset>
       </path>


    追加Hibernate和Hibernate-Extensions的类包,如下所示:

    <path id="lib.class.path">
          <pathelement path="${database.driver.classpath}"/>
          <fileset dir="${lib.dir}">
             <include name="*.jar"/>
          </fileset>
          <fileset dir="${basedir}/middlegen-lib">
             <include name="*.jar"/>
          </fileset>

       <pathelement path="../hibernate-2.1.7/hibernate2.jar"/>
       <fileset dir="../hibernate-2.1.7/lib">
             <include name="*.jar"/>
          </fileset>
       <pathelement path="../hibernate-extensions-2.1.3/tools/hibernate-tools.jar"/>
       <fileset dir="../hibernate-extensions-2.1.3/tools/lib">
             <include name="*.jar"/>
          </fileset>

       </path>


    build.xm配置完毕!

      3)、进入CMD,切到Middlegen-Hibernate目录下(如:D:/Hibernate/Middlegen-Hibernate-r5),输入ant(运行build.xml),即将出现Middlegen界面。如果没有出现大多数都是因为jdbc驱动没有按要求放入lib目录下,注意驱动的文件名必须和/config/database/mysql.xml中"database.driver.file vlaue="中的一致。熟悉一下各项参数,最后单击窗口项部的'Generate'按钮,即能生成数据库中所有表所对应的映射文件,在d/Hibernate/src/com/leafdly/目录中发现Tuser.hbm.xml文件。

  2、配置hbm2java且生成映射文件对应的POJO
     1)、进入hibernate-extensions目录下tools/bin打开setenv.bat文件.

  • 查找'set JDBC_DRIVER',得到
    set JDBC_DRIVER=C:/Progra~1/SQLLIB/java/db2java.zip;C:/mm.mysql-2.0.14/mm.mysql-2.0.14-bin.jar

    修改成:
    set JDBC_DRIVER=C:/Progra~1/SQLLIB/java/db2java.zip;D:/Hibernate/Middlegen-Hibernate-r5/lib/mysql-connector-java-3.0.17-ga-bin.jar
  • 查找'set HIBERNATETOOLS_HOME',得到
    set HIBERNATETOOLS_HOME=%~dp0..

    修改成:
    set HIBERNATETOOLS_HOME=D:/Hibernate/hibernate-extensions-2.1.3/tools
  • 查找'if "%HIBERNATE_HOME%"',在其所在段落上新加一行,加入下面一条语句:
    set HIBERNATE_HOME=D:/Hibernate/hibernate-2.1.7
  • 查找'set CP',得到
    set CP=%CLASSPATH%;%JDBC_DRIVER%;%HIBERNATE_HOME%/hibernate2.jar;%CORELIB%/commons-logging-1.0.3.jar;%CORELIB%/commons-lang-1.0.1.jar;%CORELIB%/cglib-2.0-rc2.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;%CORELIB%/commons-collections-2.1.jar;%LIB%/../hibernate-tools.jar

    将CP中的各项值改为相对应的,(如:cglib-2.0-rc2.jar,应改为cglib-full-2.0.2.jar),具体参考下面:
    set CP=%CLASSPATH%;%JDBC_DRIVER%;%HIBERNATE_HOME%/hibernate2.jar;%CORELIB%/commons-logging-1.0.4.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;%CORELIB%/commons-collections-2.1.1.jar;%LIB%/../hibernate-tools.jar

     2)进入CMD到hibernate-extensions目录下的/tools/bin子目录中,输入hbm2java D:/Hibernate/src/com/leafdly/Tuser.hbm.xml --output=D:/Hibernate/src(注意映射文件的目录要正确)。在D:/Hibernate/src中将发现多了一个Tuser.java文件,OK,POJO生成了。!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值