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

2024-02-12 16:38

本文主要是介绍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生成了。!

这篇关于Hibernate配置(一):用MiddleGen生成映射文件和用hbm2java生成pojo的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/703058

相关文章

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

SpringBoot条件注解核心作用与使用场景详解

《SpringBoot条件注解核心作用与使用场景详解》SpringBoot的条件注解为开发者提供了强大的动态配置能力,理解其原理和适用场景是构建灵活、可扩展应用的关键,本文将系统梳理所有常用的条件注... 目录引言一、条件注解的核心机制二、SpringBoot内置条件注解详解1、@ConditionalOn

通过Spring层面进行事务回滚的实现

《通过Spring层面进行事务回滚的实现》本文主要介绍了通过Spring层面进行事务回滚的实现,包括声明式事务和编程式事务,具有一定的参考价值,感兴趣的可以了解一下... 目录声明式事务回滚:1. 基础注解配置2. 指定回滚异常类型3. ​不回滚特殊场景编程式事务回滚:1. ​使用 TransactionT

Spring LDAP目录服务的使用示例

《SpringLDAP目录服务的使用示例》本文主要介绍了SpringLDAP目录服务的使用示例... 目录引言一、Spring LDAP基础二、LdapTemplate详解三、LDAP对象映射四、基本LDAP操作4.1 查询操作4.2 添加操作4.3 修改操作4.4 删除操作五、认证与授权六、高级特性与最佳

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

SpringSecurity JWT基于令牌的无状态认证实现

《SpringSecurityJWT基于令牌的无状态认证实现》SpringSecurity中实现基于JWT的无状态认证是一种常见的做法,本文就来介绍一下SpringSecurityJWT基于令牌的无... 目录引言一、JWT基本原理与结构二、Spring Security JWT依赖配置三、JWT令牌生成与

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL