配置Middlegen-Hibernate和hibernate-extensions以产生hbm映射文件和POJO

先决条件:
已经安装了ant和MySQL数据库,数据库表已经建立。

1、  从Hibernate官方网站下载Middlegen-Hibernate和hibernate-extensions,并解压。
2、  配置Middlegen-Hibernate:
2.1 配置数据库连接
假设连接的数据库是MySQL,在Middlegen-Hibernate-r5\config\database目录中有一个mysql.xml文件,是用来配置MySQL数据库的连接的。内容为:
   <property name="database.script.file" value="${src.dir}/sql/${name}-mysql.sql"/>
   <property name="database.driver.file" value="${lib.dir}/mysql-connector-java-3.0.15-ga-bin.jar"/>
   <property name="database.driver.classpath"      value="${database.driver.file}"/>
   <property name="database.driver"                value="org.gjt.mm.mysql.Driver"/>
   <property name="database.url"                   value="jdbc:mysql://localhost/jboss"/>
   <property name="database.userid"                value="jboss"/>
   <property name="database.password"              value="jboss"/>
   <property name="database.schema"                value=""/>
   <property name="database.catalog"               value=""/>

   <property name="jboss.datasource.mapping"       value="mySQL"/>
将mysql-connector-java-3.0.15-ga-bin.jar拷贝到${lib.dir},也就是Middlegen-Hibernate-r5\lib目录。
修改配置文件中的数据库连接项目database.url、database.userid、database.userid 使Middlegen-Hibernate可以找到数据库。
2.2 配置Middlegen-Hibernate-r5的ant运行文件build.xml
<!DOCTYPE project [
    <!ENTITY database SYSTEM "file:./config/database/mysql.xml">
]>
指出使用的数据库配置文件。
<project name="Middlegen Hibernate" default="all" basedir=".">
   <property file="${basedir}/build.properties"/>
   <property name="name" value="hibernatesample"/>
指出你的应用名称。
   <property name="build.gen-src.dir"              value="C:/sample"/>
指出hbm的输出路径。
         <hibernate
            destination="${build.gen-src.dir}"
            package="org.hibernate.sample"
            genXDocletTags="false"
            genIntergratedCompositeKeys="false"
            javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
         />
指出hbm所在的包的位置。
指出hbm.xml中是否需要XDoclet Tags。
3、  运行Middlegen-Hibernate:
在Middlegen-Hibernate目录下运行ant,进入Middlegen-Hibernate的图形界面。可以设置表,和字段的特性。然后按Genarate,产生hbm.xml文件。
4、  配置hibernate-extensions
在hibernate-extensions-2.1.2\tools\bin目录有一个setenv.bat文件,改变其内容为:
set JDBC_DRIVER=C:\java\Middlegen-Hibernate-r5\lib\mysql-connector-java-3.0.15-ga-bin.jar
set HIBERNATE_HOME=C:\java\hibernate-2.1.6

set CORELIB=%HIBERNATE_HOME%\lib
set LIB=..\lib
set PROPS=%HIBERNATE_HOME%\src
set CP=%JDBC_DRIVER%;%PROPS%;%HIBERNATE_HOME%\hibernate2.jar;%CORELIB%\commons-logging-1.0.4.jar;%CORELIB%\commons-collections-2.1.1.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;%LIB%\..\hibernate-tools.jar
注意红色字体提示的均是路径和JAR文件名,一定要正确。
5、运行hibernate-extensions,根据hbm.xml产生POJO文件
在DOS中运行hbm2java c:\sample\org\hibernate\sample\*.xml --output=c:\sample\




hibernate-extensions-2.0应用配置
标签: 技术  2007-10-23 15:03
hibernate-extensions的/tools下有3个工具:
class2hbm.bat 根据你自己对应表所写的java文件,生成相应的*.hbm.xml文件
ddl2hbm.bat 根据你的数据库表,自动生成*.hbm.xml和*.java文件(如果不需要详细的配置,建议用这种方式生成*.xml和*.java文件)
hbm2java.bat 根据*.hbm.xml生成相应的*.java文件

***  ***  ***  ***  ***  ***
hbm2java.bat
1、进入命令行模式,进入hibernate-tools-2.0目录,进入/bin
2、首先编辑一下setenv.bat:
在hibernate-extensions-2.1.2\tools\bin目录有一个setenv.bat文件,改变其内容为:

set JDBC_DRIVER=C:\java\Middlegen-Hibernate-r5\lib\mysql-connector-java-3.0.15-ga-bin.jar

set HIBERNATE_HOME=C:\java\hibernate-2.1.6

set CORELIB=%HIBERNATE_HOME%\lib

set LIB=..\lib

set PROPS=%HIBERNATE_HOME%\src

set CP=%JDBC_DRIVER%;%PROPS%;%HIBERNATE_HOME%\hibernate2.jar;

%CORELIB%\commons-logging-1.0.4.jar;%CORELIB%\commons-collections-2.1.1.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;%LIB%\..\hibernate-tools.jar


3、执行hbm2java.bat D:\hiber\com\test\*.xml //后面所跟的是你用Middlegen Hibernate所生成的*.hbm.xml文件

***  ***  ***  ***  ***  ***
ddl2hbm.bat
1、2步骤如hbm2java
3、运行ddl2hbm,会弹开一个图形界面
4、在Connection面板里,输入JDBC驱动的相关信息,如:
DriverClass:com.jnetdirect.jsql.JSQLDriver
ConnectionUrl:jdbc:JSQLConnect://服务器名/database=数据库名&user=用户名&password=密码(注意这是我所用的驱动支持将用户名和密码放在后面这种格式)
UserName:用户名(我的ConnectionUrl已填写该信息,这里可不填)
PassWord:密码(我的ConnectionUrl已填写该信息,这里可不填)
5、在Code面板里,可以定义包名
6、在Output面板里,可以定义文件输出路径
7、设置好后,进入Table面板,点击tables…按钮,如果数据库连接成功,则会弹开一个小面板,选择你要映射的数据库,点击确定即可,此时
Table面板里就会显示该数据库的所有表格,选择你需要的表,点击“Generate”,则在输出路径里生成*.hbm.xml和*.java文件

【注意的地方】
1、JDBC驱动的版本要一致,否则找到包却找不到相应的类
2、因为Sqlserver不支持hibernate里的sequences类型,在测试代码时会出错,你打开生成的*.hbm.xml

<id column="test_id" name="id" type="java.lang.Long">
<generator class="identity"/>//这里改成identity即可
</id>

***  ***  ***  ***  ***  ***
ddl2hbm.bat
hbm2java.bat配置如下:
@echo off
rem -------------------------------------------------------------------
rem Execute hbm2java tool
rem -------------------------------------------------------------------
call setenv.bat java -cp %CP% net.sf.hibernate.tool.hbm2java.CodeGenerator --output=H: est H: estcom tolesales*.xml
其中H: est是生成.java文件的路径,
        H: estcom tolesales*.xml 是由 ddl2hbm.bat生成的xml文件的路径.



Hibernate-Extensions配置
http://wanzhi002.blog.sohu.com/68137943.html
下面以一个实例讲解如何利用hibernate-extensions自动生成POJO对象
1.下载所需要的工具
方式一:从Hibernate的官方网站下载 hibernate-extensions
下载地址:http://sourceforge.net/project/showfiles.php?group_id=40712&package_id=85666
方式二:从csnd下载频道下载所需要的 hibernate-extensions 版本:(hibernate-extensions-2.1.3)
下载地址:http://download.csdn.net/source/176164
推荐使用第二种方法下载资源,官网的资源有时候下载不了。
2.修改配置文件
将hibernate-extensions解压放于E:\hibernate-extensions-2.1.3下
修改E:\hibernate-extensions-2.1.3\tools\bin\setenv.bat 的批处理文件
需要修改的是:
1)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:\driver\ojdbc14.jar (驱动所放的位置)
2)HIBERNATE_HOME (指向hibernate包所在文件夹)
set HIBERNATE_HOME=c:\hibernate-2.1
注意:要下载Hibernate2.x版本。hibernate-extensions对Hibernate-3.x不支持
在hibernate官网下载hibernate包后解压到你目标文件夹
3)CP
请确保里面的配置的jar都能找到,例如hibernate2.1/lib下的commons-lang.jar,,有 的包后面可能会有版本号等信息,如commons-lang-1.2.1等等,所以在cp中要保证包名和你所使用的一致。(确保cp下面的jar包都能找到)
运行
  1) 打开cmd,进入hibernate-extensions\bin文件夹下,在这个例子中就是E:\hibernate-extensions-2.1.3\tools\bin目录
  2) 键入命令 hbm2java E:\pojo\*.xml -output=D:\pojo 在这个命令中 D:\java_tools\sample\*.xml 是指向了你所有.hbm.xml所在的文件夹
   -output=D:\java_tools\sample\ 代表你想把生成的POJO放在哪个文件夹
   如果没有指定保存路径,则会默认保存在bin下的一个generated文件夹下。
  3) 回车运行
  注意:当运行时提示照不到某个类时,极有可能是你缺少某个包或者在第三步时指定路径有错误
   如果没有报错,到D:\java_tools\sample\下,可以发现每个.hbm.xml对应的POJO已经生成了。
   常会出现的错误
  hibernate-extensions java.lang.NoClassDefFoundError 这个错误一般是由于本例第三步中某些项的设置出现了问题,即路径不对,找不到相应的文件。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chenpy/archive/2008/07/18/2673339.aspx

你可能感兴趣的:(Hibernate)