Middlegen和hbm2java自动化数据映射工具实践
首先得到如下文件
http://jaist.dl.sourceforge.net/sourceforge/hibernate/hibernate-2.1.8.zip
http://jaist.dl.sourceforge.net/sourceforge/hibernate/hibernate-extensions-2.1.3.zip
http://voxel.dl.sourceforge.net/sourceforge/hibernate/Middlegen-Hibernate-r5.zip
http://apache.justdn.org/ant/binaries/apache-ant-1.6.5-bin.zip
配置好ant的环境变量。
把对驱动文件拷贝到lib目录下
在Middlegen-Hibernate-r5的config/database下找到你要用的数据库类型对应的xml文件
一般需要配置类似如下的项就可以了
schema项是在用oracle库是才指定的其它数据库可以为空
<property name="database.driver.file" value="./lib/classes12.jar"/>
<property name="database.driver.classpath" value="./lib"/>
<property name="database.driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="database.url" value="jdbc:oracle:thin:@172.10.10.2:1521:transen"/>
<property name="database.userid" value="kelch"/>
<property name="database.password" value="kelch"/>
<property name="database.schema" value="kelch"/>
<property name="database.catalog" value=""/>
<property name="jboss.datasource.mapping" value="Oracle9i"/>
还要配置关键的build.xml文件
找到
<!DOCTYPE project [<!ENTITY database SYSTEM "file:./config/database/oracle.xml">]>
设置 Middlegen-Hibernate 要加载那个配置文件,也就是你刚刚修改的那个文件
向下几行出找到
<property name="name" value="oracle"/>
value修改为你自己想命名的名字,我改为了"oracle"
在下面属性的value中输入你要输出到的文件路径
<property name="build.gen-src.dir" value="./mapping"/>
Hbm映射文件的输出路径
找到这里 默认是别注释掉的
<table name="reservations"/-->
为
Middlegen-Hibernate 选择其将要从数据库中读取的表。当然 build.xml 文件中默认没有设定任何表,此时
Middlegen-Hibernate
将在数据库中读取所有表。对于一般企业应用来讲,几十到几百个表是比较正常的,我想你见过在Middlegen-Hibernate 中显示
100个以上表的情形?,所以这在你想选择编辑某些特定的表的时候特别有用。
name的值就是你的表名
可以有多个这样的标签,来指定你要加载的多个不同表
找到
<hibernate
destination="${build.gen-src.dir}"
package="cn.kelch.mapping"
genXDocletTags="true"
genIntergratedCompositeKeys="false"
javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
/>
标签,在package中指定你的pojo包名
genXDocletTags在设为true时方便以后使用
好了
在dos下cd到Middlegen-Hibernate-r5目录下输入ant
ant就自动找到build.xml并解析
接下来你将看到一个gui
选中表
通常要修改
key generator 中的主键增长算法
以及是否动态更新和动态插入的Dynamic updte、Dynamic insert
选中字段
通常要修改
JAVA property name 中的映射类型
确认都修改好了
在点击Generate后在你指定的输出目录下将生成了与表对应的xml映射文件
Hibernate-extensions工具将根据这些xml文件生成对应的.java文件
让我们来开始使用Hibernate-Extensions吧
在使用它之前我们需要吧hibernate-2.1.8编译下
在hibernate-2.1.8目录下点击build.bat
完成后我们正式开始吧
在tools目录的子目录bin下找到设置环境变量的setenv.bat
修改其中的设置
把你的hibernate-2.1.8目录设置为HIBERNATE_HOME变量的值
JDBC_DRIVER的值就是你的驱动文件
HIBERNATETOOLS_HOME的便是你目前所在的tools目录
我的设置入下
set JDBC_DRIVER=E:/tools/middlegen-hibernate/tools/lib/classes12.jar
set HIBERNATE_HOME=E:/tools/middlegen-hibernate/hibernate-2.1
set HIBERNATETOOLS_HOME=E:/tools/middlegen-hibernate/tools
需要注意的是这里
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
请确保在你的对应目录下下有这些文件并名字也一样。很不幸运的是,在hibernate-2.1.8的lib下的跟这里引用的会有些不太一样,一个个去对应吧
设置好了就保存
现在我们来修改hbm2java.bat
在call 后面输入刚刚修改的setenv.bat的路径
ok
在dos下cd到hbm2java.bat目录下
输入
hbm2java 你用middlegen生成的xml目录/*.xml --output=类文件的输出目录
在你指定的类文件输出目录下将会有你想得到的.java文件
接下来你要如何使用这些类和映射文件,我就不可预测了。也许你会拷贝到你的工程下去编译,你也可以开始就把生成路径设置为你工程放置这些文件的路径。
数据映射就此完成
如果你对表之间的关系比如一对多等等不了解,工具生成的xml就是你学习的例子
现在你是否行动了
分享到:
相关推荐
【标题】"Middlegen-Hibernate-r5,hibernate-extensions-2.1.3" 涉及的是两个重要的Hibernate相关工具:Middlegen和Hibernate Extensions,这两个工具都是在开发基于Java的数据库应用程序时使用的辅助工具。...
在Middlegen-Hibernate-r5中,Middlegen的作用在于根据数据库中的表结构生成Hibernate所需的配置文件,如hibernate.cfg.xml和.hbm.xml文件。这些文件定义了数据库表与Java实体类的映射关系,使得Hibernate能够自动...
`Middlegen-Hibernate-r5.rar`是Middlegen-Hibernate的一个版本,包含了工具本身及其依赖,而`hibernate-extensions-2[1].1.3.zip`则是hibernate-extensions的某个版本,提供了扩展的工具和库。 总结来说,...
Hibernate的Middlegen-Hibernate-r5工具包可以生成映射文件及POJO文件,简化开发。... 关于Hibernate的关系映射,其中除了注解方式,还可以通过XML方式,此文件是根据数据库生成XML文件的一种工具。...
Middlegen,作为`Middlegen-Hibernate-r5.zip`的主要内容,是针对Hibernate的一个实用工具,用于自动生成数据库模式到Java类的映射代码,极大地提高了开发效率。 1. Hibernate扩展: Hibernate扩展是开发者社区为...
《Middlegen与Hibernate的深度探索——以Middlegen-Hibernate-r5.rar为例》 在IT行业中,数据库管理和持久化层的设计是至关重要的环节。Middlegen与Hibernate这两个工具,正是为了解决这些问题而生。Middlegen-...
在Middlegen-Hibernate的场景中,Ant被用来驱动Middlegen执行代码生成的任务,这使得整个过程可配置且易于集成到持续集成环境中。 以下是Middlegen与Hibernate配合使用的基本步骤: 1. **安装与配置**:首先,你...
《Hibernate与Middlegen-Hibernate-r5:数据库持久化框架深度解析》 在Java开发领域,Hibernate是一个广泛应用的开源对象关系映射(ORM)框架,它简化了数据库操作,使得开发者能够以面向对象的方式处理数据库交互...
1. **安装配置**:首先,你需要下载并配置Middlegen-Hibernate的相关依赖库,如题目中提到的`hibernate-extensions-2.1.3`、`apache-ant-1.8.4`、`Middlegen-Hibernate-r5`和`hibernate-2.1`。Apache Ant是Java项目...
《Middlegen-Hibernate配置详解》 在Java开发领域,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。然而,对于初学者或者开发者来说,正确配置和使用Hibernate可能会遇到一些挑战。...
hibernate2.1.8 下的 hibernate2.jar 及 lib 目录下的 jar 文件、hibernate-extensions 下的 hibernate-tools.jar 及 lib 目录下的 jar 文件、xdoclet-bin-1.2.3 下的 jar 文件全部拷贝到 middlegen- hibernate-r5 ...
接下来是"Middlegen-Hibernate-r5.zip",Middlegen是一款基于Hibernate的数据库建模工具,它可以自动生成Hibernate映射文件和Java持久层实体类。Hibernate是Java领域最流行的ORM(对象关系映射)框架,它允许开发者...
maven-middlegen-plugin-2.1
通过下载并解压“middlegen-2.1-src”文件,我们可以研究其内部实现,甚至根据项目需求对其进行二次开发。 总结来说,Middlegen 2.1是一款高效且灵活的ORM工具,它简化了Java应用程序与数据库之间的交互,降低了...
【Middlegen与Hibernate Extensions详解】 在Java世界中,Hibernate是一个非常流行的持久化框架,它极大地简化了数据库操作,使得开发者可以专注于业务逻辑而非繁琐的数据访问层代码。Middlegen和Hibernate ...
hibernate-extensions-2.1.2.zip hibernatetutorial.zip Middlegen-Hibernate-r4.zip Middlegen-Hibernate-r4.zip
maven-middlegen-plugin-2.1.jar
本篇文章将围绕"hibernate相关插件全集"这一主题,详细介绍给定的压缩包文件中包含的三个关键组件:Middlegen-Hibernate-r5、hibernate-annotations-3.3.0.GA和hibernate-extensions-2.1.3。 首先,Middlegen-...