`
sunbin
  • 浏览: 349690 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Middlegen + Hibernate3 生成hibernate映射文件 mapping xml + java代码

 
阅读更多
 
引用
本文中示例基于mysql数据库


1.下载Middlegen相关代码 
(1)Middlegen http://voxel.dl.sourceforge.net/sourceforge/hibernate/middlegen-hibernate-r5.zip 
(2)hibernate3.x http://sourceforge.net/projects/hibernate/files/hibernate3/ 
(3)其他jar包 
还需要以下jar包: 
hibernate-tools.jar -》在hibernate-extensions-2.1.3.zip中 
jdom.jar  -》在hibernate-extensions-2.1.3.zip中 
dom4j-1.6.1.jar 
slf4j-api-1.5.6.jar 
slf4j-log4j12-1.5.6.jar 
commons-lang-1.0.1.jar 
freemarker.jar http://sourceforge.net/projects/freemarker/files/freemarker/2.3.16/freemarker-2.3.16.tar.gz/download 
mysql-connector-java-5.0.8-bin.jar 

将以上jar文件放入middlegen-hibernate-r5的lib目录中 

2.使用Middlegen 生成hibernate映射文件 
2.1 配置数据库文件 
进入d:\middlegen-hibernate-r5 目录下的\config\database 子目录,选择你要得数据库文件,我使用的是mysql. 
将原来的 

Xml代码  收藏代码
  1. <property name="database.driver.file" value="${lib.dir}/***"/>   


改成 

Xml代码  收藏代码
  1. <property name="database.driver.file" value="${lib.dir}/mysql-connector-java-5.0.8-bin.jar"/>  


其中mysql-connector-java-5.0.8-bin.jar为你自己数据库驱动文件的名字。 
下面指定数据库与用户名以及密码。 

Xml代码  收藏代码
  1. <property name="database.script.file" value="${src.dir}/sql/${name}-mysql.sql"/>   
  2. <!--property name="database.driver.file" value="${lib.dir}/mysql-connector-java-3.0.0-beta-bin.jar"/-->   
  3. <property name="database.driver.file" value="${lib.dir}/mysql-connector-java-3.0.15-ga-bin.jar"/>   
  4. <property name="database.driver.classpath" value="${database.driver.file}"/>   
  5. <property name="database.driver" value="org.gjt.mm.mysql.driver"/>  
  6. <!--下面的hibernate为你的数据库名字>  
  7. <property name="database.url" value="jdbc:mysql://localhost:3306/test"/>   
  8. <property name="database.userid" value="root"/>   
  9. <property name="database.password" value=""/>   
  10. <property name="database.schema" value=""/>   
  11. <property name="database.catalog" value=""/>   
  12. <property name="jboss.datasource.mapping" value="mysql"/>   



将mysql的驱动程序mysql-connector-java-3.0.15-ga-bin.jar copy 到d:\middlegen-hibernate-r5\lib下 

2.2修改build.xml 
修改d:\middlegen-hibernate-r5目录下的build.xml 文件,此文件是middlegen-hibernate 的ant 
构建配置。middlegen-hibernate将根据build.xml 文件中的具体参数生成数据库表映射 
文件 

1)第24行 修改数据库连接 
将hsqldb.xml 改成mysql.xml 

Xml代码  收藏代码
  1. <!entity database system "file:./config/database/mysql.xml">   


2)第52行 修改输出目录 
将${build.dir}/gen-src 改成你要的目录 

Xml代码  收藏代码
  1. <property name="build.gen-src.dir" value="${build.dir}/***" />   


3)第184行 对应代码的package name 
hibernate 节点package 属性的默认设置实际上是由前面的 
application name (${name})和“.hibernate”组合而成,根据我们的需要, 
将其改为 

Xml代码  收藏代码
  1. <hibernate   
  2. destination="${build.gen-src.dir}"   
  3. package="org.hibernate.test"   
  4. genxdoclettags="true"   
  5. genintergratedcompositekeys="false"   
  6. javatypemapper="middlegen.plugins.hibernate.hibernatejavatypemapper"   
  7. />   


这里还有一个属性genxdoclettags,如果设置为true,则生成的代码将包含 
xdoclet tag。 
4)第33行 修改应用名 
将原来的 

Xml代码  收藏代码
  1. <property name="name" value="airline"/>   


改成 

Xml代码  收藏代码
  1. <property name="name" value="test"/>   



运行ant ,会生成一个界面 
点击界面上的generate按钮则map文件会在定义目录下面生成hibernate的映射文件。 
3.使用Middlegen生成java代码 
按照上述的配置 运行再运行ant hbm2java任务,会出现下面的异常: 

引用
doesn't support the "output" attribute 与net/sf/hibernate/MappingException



这是因为引用的是Hibernate3要与之前的Hibernate2配置有很大不同。 
配置修改如下: 

Xml代码  收藏代码
  1. <!--=====hibernate 3=====-->  
  2.         <target name="hbm2java" description="Generate .java from .hbm files.">  
  3.             <taskdef name="hbm2java" classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="lib.class.path" />  
  4.             <hbm2java destdir="${build.gen-src.dir}">  
  5.                 <configuration>  
  6.                     <fileset dir="${build.gen-src.dir}">  
  7.                         <include name="**/*.hbm.xml" />  
  8.                     </fileset>  
  9.                 </configuration>  
  10.                 <hbm2java jdk5="true" />  
  11.             </hbm2java>  
  12.         </target>   


将之前的hbm2java target 删掉或者注释掉。 
就是注释掉下面这一段: 

Xml代码  收藏代码
  1. <!--=== hibernate 2 =====  
  2.     <target name="hbm2java" description="Generate .java from .hbm files.">  
  3.         <taskdef name="hbm2java" classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="lib.class.path" />  
  4.         <configuration>  
  5.             <hbm2java output="${build.gen-src.dir}">  
  6.                 <fileset dir="${build.gen-src.dir}">  
  7.                     <include name="**/*.hbm.xml" />  
  8.                 </fileset>  
  9.             </hbm2java>  
  10.         </target>  
  11.     -->  



Okay,现在运行 ant hbm2java 就能得到 java POJO.

分享到:
评论

相关推荐

    利用Middlegen Hibernate3生成hbm.xml配置和java类

    标题中的“利用Middlegen Hibernate3生成hbm.xml配置和java类”指的是使用Middlegen工具来自动化创建Hibernate3框架所需的映射文件(hbm.xml)和对应的Java实体类。这个过程是数据库对象到Java对象(O/R Mapping)的...

    Hibernate-Extension Middlegen-Hibernate

    3. **生成映射**:运行Ant任务,指定Middlegen的输入为数据库的元数据(如表结构),输出为Java源代码和Hibernate的映射文件(.hbm.xml)。Middlegen会根据数据库中的表和字段信息,生成对应的实体类和映射文件。 4...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    12.5 使用Hibernate的工具快速生成映射文件和POJO 12.5.1 使用MiddleGen根据数据库产生映射文件 12.5.2 使用hbm2java根据映射文件产生POJO 12.6 整合Struts、Spring和Hibernate实现用户管理 12.6.1 Struts、Spring和...

    Middlegen-Hibernate-r5.rar

    Middlegen是一款强大的数据库建模工具,它能够自动生成Hibernate的配置文件,包括实体类(Entity)、映射文件(Mapping File)以及数据访问对象(DAO)。在Middlegen-Hibernate-r5.rar中,我们可以找到该版本的...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    12.5 使用Hibernate的工具快速生成映射文件和POJO 12.5.1 使用MiddleGen根据数据库产生映射文件 12.5.2 使用hbm2java根据映射文件产生POJO 12.6 整合Struts、Spring和Hibernate实现用户管理 12.6.1 Struts、Spring和...

    六步骤轻松完成Hibernate中生成VO.xml

    Middlegen-Hibernate是一款强大的代码生成工具,主要用于基于数据库表结构自动生成Java实体类(Value Object, VO)以及对应的Hibernate配置文件。首先,我们需要访问其官方网站或其他可信源下载最新版本的Middegen-...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    12.5 使用Hibernate的工具快速生成映射文件和POJO 12.5.1 使用MiddleGen根据数据库产生映射文件 12.5.2 使用hbm2java根据映射文件产生POJO 12.6 整合Struts、Spring和Hibernate实现用户管理 12.6.1 Struts、Spring和...

    Hibernate配置文件中映射元素详解

    ### Hibernate映射文件基础结构 映射文件通常以`&lt;!DOCTYPE hibernate-mapping&gt;`开头,引用DTD(文档类型定义),确保文件遵循正确的格式。例如: ```xml &lt;!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/...

    middlegen-2.1-src.rar_middlegen_middlegen 2_middlegen-2.1_middle

    3. 生成映射文件:基于获取的数据库信息,Middlegen自动生成符合Hibernate规范的.hbm.xml映射文件,每个文件对应数据库中的一个表。 4. 生成Java实体类:同时,Middlegen还会生成对应的Java实体类,这些类包含了...

    Ant1.7+middlegen-2.1+配置手顺

    它允许开发者通过XML来定义项目构建过程,而`Middlegen`则是一个数据库模式到Hibernate对象关系映射(ORM)的代码生成器,可以自动生成Hbm(Hibernate Mapping)文件以及对应的Java实体类。下面将详细介绍这两个工具...

    Hibernate实践例子程序

    2. Hibernate Extention,用来自动生成与那些*.hbm.xml对应的POJO,也就是根据那些对象关系映射的配置文件生成相应的class文件。 HibernateEx里面有一个hbm2java工具,就是用来根据些配置文件生成相应的POJO class。...

    hibernate映射

    在具体操作中,比如使用Middlegen从数据库定义文件生成映射文件,涉及到的配置参数有: - `database.script.file`:指向创建数据库的SQL脚本文件路径。 - `database.driver.file`:包含数据库JDBC驱动的jar文件路径...

    hibernate如何用O/R Mapping框架来实现我们的数据层

    - **Middlegen**:这是一种代码生成工具,可以根据数据库表结构自动生成Hibernate映射文件和其他必要的Java代码。 #### 七、Hibernate的优势 - **生产力**:使用Hibernate可以显著提高开发效率,减少大量的手工...

    hibernate例子

    4. **middlegen**:在提到的“hbm3(middlegen)”中,middlegen是一个工具,用于自动生成HBM文件,它能根据数据库表结构创建相应的Hibernate映射文件,从而减轻开发者的负担。 5. **HBM3映射元素**: - `&lt;class&gt;`...

    hibernate

    10. **使用Middlegen加速Hibernate开发**:Middlegen是一个代码生成工具,可自动生成基于Hibernate的实体类和映射文件,减少手动编码的工作量。 通过学习Hibernate,开发人员能够更专注于业务逻辑,而不是数据库...

    Hibernate学习精粹

    - **XDoclet与Hibernate映射**:XDoclet是一个用于生成代码和其他文档的工具,可以与Hibernate结合使用来自动生成映射文件。 - **数据检索**:包括Criteria API和HQL(Hibernate Query Language)两种查询方式,它们...

    J2EE电子商务系统开发从入门到精通:基于Struts和Hibernate技术实现

    - **hbm2java工具**:用于从HBM(XML)文件生成Java类。 - **分页显示的实现**:通过SQL查询或Hibernate API实现数据分页。 #### 企业在线信息系统网站概述与架构设计 - **概述**: - 该网站旨在为企业的日常运营...

    Hibernate_DEV_GUIDE

    - **Middlegen-Hibernate**:这是一个强大的代码生成工具,能够根据数据库表结构自动生成相应的Java类和Hibernate映射文件。 #### 五、Hibernate配置 - **Configuration**:负责读取配置文件,并初始化Hibernate。...

    Hibernate基础知识

    - **XML Mapping**:Hibernate映射文件,描述了Java对象与数据库表之间的映射关系。 - **Database**:关系型数据库。 **1.2 Hibernate与关系数据库的映射** Hibernate通过配置文件或注解的方式定义Java对象与...

    解析Java的Hibernate框架中的持久化类和映射文件

    Java的Hibernate框架中的持久化类和映射文件是实现ORM的关键组件,它们共同负责在对象层和数据库层之间建立桥梁,使得开发者可以使用面向对象的方式来处理数据,而无需关心底层的SQL细节,极大地提高了开发效率和...

Global site tag (gtag.js) - Google Analytics