本例使用MiddleGen-Hibernate-r5生成hbm文件及POJO,所使用数据库为SQLServer2000,. MiddleGen-Hibernate-r5下载地址为:
http://jaist.dl.sourceforge.net/sourceforge/hibernate/Middlegen-Hibernate-r5.zip
<!--[if !supportLists]-->1 <!--[endif]-->先决条件
<!--[if !supportLists]-->1.1 <!--[endif]-->已安装JDK(版本1.5以上)并配置环境变量
<!--[if !supportLists]-->Ø <!--[endif]-->到http://java.sun.com/上下载JDK,配置环境变量(我的电脑右键->属性->高级->环境变量)
JAVA_HOME:JDK安装目录
CLASS_PATH:JDK安装目录\lib
PATH:JDK安装目录\bin
<!--[if !supportLists]-->1.2 <!--[endif]-->已安装ant并配置环境变量
<!--[if !supportLists]-->Ø <!--[endif]-->点击http://apache.mirror.phpchina.com/ant/binaries/apache-ant-1.7.1-bin.zip 下载ant并解压,设置环境变量(我的电脑右键->属性->高级->环境变量)
ANT_HOME:ant解压目录
<!--[if !supportLists]-->2 <!--[endif]-->所需jar包
<!--[if !supportLists]-->Ø <!--[endif]-->生成hbm文件所需jar包
由于本例使用的是SQLServer2000数据库,所以需要:
msbase.jar,
mssqlserver.jar,
msutil.jar
三个jar包(可以到MS官网上下载)
<!--[if !supportLists]-->Ø <!--[endif]-->生成POJO时所需jar包
hibernate3.jar
dom4j-1.6.1.jar
可以点击
http://nchc.dl.sourceforge.net/sourceforge/hibernate/hibernate-distribution-3.3.1.GA-dist.zip 下载,dom4j-1.6.1.jar位于 hibernate-distribution-3.3.1.GA\lib\required下(也可以通过http://nchc.dl.sourceforge.net/sourceforge/dom4j/dom4j-1.6.1.zip 下载)
hibernate-tools.jar
freemarker.jar
可以点击
http://jaist.dl.sourceforge.net/sourceforge/jboss/HibernateTools-3.2.4.Beta1-R200810311334.zip 下载,解压后jar包位于
plugins\org.hibernate.eclipse_3.2.4.Beta1-R200810311334\lib\tools
slf4j-api-1.5.2.jar
slf4j-jdk14-1.5.2.jar
slf4j-log4j12-1.5.2.jar
可以点击http://www.slf4j.org/dist/slf4j-1.5.2.zip 下载
<!--[if !supportLists]-->3 <!--[endif]-->生成过程
将下载的MiddleGen-Hibernate-r5解压到任一目录,并在build目录下新建一个文件夹mysrc
<!--[if !supportLists]-->3.1 <!--[endif]-->生成hbm文件
<!--[if !supportLists]-->3.1.1 <!--[endif]-->设置build.xml
打开MiddleGen-Hibernate-r5文件夹,找到并打开Build.xml,按照以下步骤对文件进行更改:
<!--[if !supportLists]-->Ø <!--[endif]-->第24行:更改数据库配置
<!DOCTYPE project [
<!ENTITY database SYSTEM "file:./config/database/hsqldb.xml">
]>
为
<!DOCTYPE project [
<!ENTITY database SYSTEM "file:./config/database/mssql.xml">
]>
因为所使用的是SQLServer2000数据库,所以在此更改将数据库配置文件更改为mssql.xml
<!--[if !supportLists]-->Ø <!--[endif]-->第33行:设置包名
<property name="name" value="airline"/>
为
<property name="name" value="org.test"/>
生成hbm时会建org.test 文件夹,与JAVA结构一样
<!--[if !supportLists]-->Ø <!--[endif]-->第51行:设置输出目录
<property name="build.gen-src.dir" value="${build.dir}/gen-src"/>
为
<property name="build.gen-src.dir" value="${build.dir}/mysrc"/>
指定输出目录为mysrc文件夹
<!--[if !supportLists]-->Ø <!--[endif]-->第185行:又是包名
package="${name}.hibernate"
为
package="${name}.model"//生成文件夹
也可以不设置第33行包名(但有可能不会生成org及test文件夹,未测试),直接改此处为package="org.yourpackage"
<!--[if !supportLists]-->3.1.2 <!--[endif]-->设置数据库连接文件
在MiddleGen-Hibernate-r5文件夹下config/database/找到并打开mssql.xml,按如下所示进行修改:
<!--[if !supportLists]-->l <!--[endif]-->将
<property name="database.driver.file" value="${lib.dir}/Sprinta2000.jar"/>
<property name="database.driver" value="com.inet.tds.TdsDriver"/>
<property name="database.url" value="jdbc:inetdae7:localhost?database=airline"/>
<property name="database.userid" value="sa"/>
<property name="database.password" value="sa"/>
<property name="database.schema" value=""/>
<property name="database.catalog" value=""/>
修改为
<property name="database.driver.file" value="${lib.dir}/mssqlserver.jar"/>
<property name="database.driver" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
<property name="database.url" value="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=loginDemo"/>
<property name="database.userid" value="sa"/>
<property name="database.password" value="sa"/>
<property name="database.schema" value="dbo"/>
<property name="database.catalog" value="loginDemo"/>
其中database.schema在这里应该是指数据库的拥有者,在DB2中可能是指模式吧。
<!--[if !supportLists]-->l <!--[endif]-->将msbase.jar,mssqlserver.jar,msutil.jar拷至MiddleGen-Hibernate-r5文件夹lib目录
完成上述两个步骤之后,打开cmd,进入MiddleGen-Hibernate-r5目录,运行ant,将会弹出一个GUI界面,如果不想做任何修改,直接点击Generator就可以生成hbm文件了,生成的hbm文件位于MiddleGen-Hibernate-r5文件夹build\mysrc\com\test\model下。
<!--[if !supportLists]-->3.2 <!--[endif]-->生成POJO
将以下jar包复制到MiddleGen-Hibernate-r5文件夹lib目录
hibernate3.jar, hibernate-tools.jar, dom4j-1.6.1.jar, slf4j-log4j12-1.5.2.jar, slf4j-api-1.5.2.jar, slf4j-jdk14-1.5.2.jar, freemarker.jar
再次打开build.xml文件
修改第212行
<target name="hbm2java" description="Generate .java from .hbm files.">
<taskdef
name="hbm2java"
classname="net.sf.hibernate.tool.hbm2java.Hbm2JavaTask"
classpathref="lib.class.path"
/>
<hbm2java output="${build.gen-src.dir}">
<fileset dir="${build.gen-src.dir}">
<include name="**/*.hbm.xml"/>
</fileset>
</hbm2java>
</target>
为
<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>
由于Middlegen生成的hbm文件是里面的引用是hibernate2的DTD,因此修改生成的hbm.xml里面hibernate2的DTD 由
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
变为
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
(也就是将2变为3,这样就不会出现“Don’t use old DTDs,read the Hibernate3.x Migration Guide!”错误)
运行ant hbm2java,生成的<span
分享到:
相关推荐
为了解决这一问题,两个工具——hibernate-extensions和Middlegen-Hibernate应运而生,它们可以自动生成这些代码,提高了开发效率。 **hibernate-extensions** 是Hibernate框架的一个扩展,它提供了一些额外的功能...
Hibernate的Middlegen-Hibernate-r5工具包可以生成映射文件及POJO文件,简化开发。... 关于Hibernate的关系映射,其中除了注解方式,还可以通过XML方式,此文件是根据数据库生成XML文件的一种工具。...
2. **从数据库导出**:利用工具自动生成POJO类和映射文件。这是最常用的方法,尤其是在已有数据库的情况下,可以直接根据现有的表结构生成所需的代码。这种方式可以大大提高开发效率,减少出错的可能性。 #### 五、...
1. Middlegen-Hibernate,用来自动生成对象映射的配置文件。感觉配置起来也挺麻烦的,不过对于有一大坨的mapping对象的cfg文件来说倒是很省事的,关键是避免出错了。 2. Hibernate Extention,用来自动生成与那些*....
首先,Middlegen是Apache Lucene项目的一个子项目,它的主要功能是根据数据库表结构生成相应的Java POJO类和Hibernate的Hbm映射文件。POJOs是Plain Old Java Objects的简称,它们是Java程序设计中一种简单、无特定...
在实际开发过程中,经常采用从现有数据库结构自动生成POJO类和映射文件的方式,这可以通过Middlegen-Hibernate等工具实现。 - **Middlegen-Hibernate**:这是一个强大的代码生成工具,能够根据数据库表结构自动生成...
除了Hbm文件,Middlegen还可以生成POJO(Plain Old Java Object)类,即与数据库表一一对应的Java实体类,以及DDL(Data Definition Language)脚本,用于创建或更新数据库表结构。 在实际开发中,可以结合Ant工具...
- Middlegen-Hibernate: 用于自动生成Hibernate所需的代码。 #### 三、构建Hibernate基础代码 构建Hibernate的基础代码主要包括两部分:POJO类和Hibernate映射文件。 ##### 1. POJO (Plain Ordinary Java Object)...
- Hibernate 提供了 MiddleGen 工具帮助生成这些元素。 - **示例**: - **POJO 示例**:`Message` 类定义了一个简单的消息对象,包含了基本属性和方法。 - **映射文件示例**:使用 XML 文件定义了 `Message` 类...
- **Hibernate软件包**: 包括Hibernate核心库、Hibernate扩展库及Middlegen-Hibernate等相关组件。 - **环境配置**: 将Ant的bin目录添加到系统的PATH环境中,以便可以在命令行下直接调用Ant命令。 #### 四、构建...
- Middlegen是一个开源工具,可以生成简单的POJO类和Hibernate映射文件。 **3.7 hbm2java工具** - **3.7 hbm2java工具** - hbm2java工具可以将Hibernate映射文件转换为对应的Java实体类。 **3.8 分页显示的实现...
- 输入完成后,XDoclet将通过Hibernate middlegen生成POJO,并进一步生成DAO、Service、Controller(Spring MVC)、JSP页面以及相应的配置文件。 以上步骤提供了关于如何使用AppFuse框架进行开发的基本指南,包括...
12.6.8 生成POJO 12.6.9 编写注册的业务逻辑接口Regedit.java 12.6.10 编写注册的业务逻辑类RegeditImpl.java 12.6.11 编写登录的业务逻辑接口Login.java 12.6.12 编写登录的业务逻辑类LoginImpl.java 12.6.13 编写...
在具体操作中,比如使用Middlegen从数据库定义文件生成映射文件,涉及到的配置参数有: - `database.script.file`:指向创建数据库的SQL脚本文件路径。 - `database.driver.file`:包含数据库JDBC驱动的jar文件路径...
12.6.8 生成POJO 12.6.9 编写注册的业务逻辑接口Regedit.java 12.6.10 编写注册的业务逻辑类RegeditImpl.java 12.6.11 编写登录的业务逻辑接口Login.java 12.6.12 编写登录的业务逻辑类LoginImpl.java 12.6.13 编写...
12.6.8 生成POJO 12.6.9 编写注册的业务逻辑接口Regedit.java 12.6.10 编写注册的业务逻辑类RegeditImpl.java 12.6.11 编写登录的业务逻辑接口Login.java 12.6.12 编写登录的业务逻辑类LoginImpl.java 12.6.13 编写...
2. **下载Hibernate相关软件包**: 包括Hibernate核心库、Hibernate扩展和Middlegen-Hibernate等。这些可以从官方网站或其他可信源下载。确保下载的是最新版本,以便获得最佳性能和兼容性支持。 #### 三、构建...
在实际开发中,映射文件可以通过手动编写,或者使用自动化工具如XDoclet、Middlegen或AndroMDA自动生成,以减少手动工作并降低错误的可能性。 总结来说,Java的Hibernate框架中的持久化类和映射文件是实现ORM的关键...
12.6.8 生成POJO 12.6.9 编写注册的业务逻辑接口Regedit.java 12.6.10 编写注册的业务逻辑类RegeditImpl.java 12.6.11 编写登录的业务逻辑接口Login.java 12.6.12 编写登录的业务逻辑类LoginImpl.java 12.6.13 编写...