使用MiddleGen 产生hibernate的数据库表映射文件
虽然myEclipse也可以生成,但是这种方式也看一下...也还是不错的..
这是以前看到的。贴上来..
来源:不详
1:下载Middlegen-Hibernate-r5
地址:URL http://voxel.dl.sourceforge.net/sourceforge/hibernate/Middlegen-Hibernate-r5.zip
2:解压缩
将下载的解压缩,如 D:\Middlegen-Hibernate-r5
3:配置数据库文件
进入D:\Middlegen-Hibernate-r5 目录下的\config\database 子目录,选择你要得数据库文件,我使用的是mysql.
将原来的
<property name="database.driver.file" value="/${lib.dir}/mysql-connector-java-3.0.0-beta-bin.jar"/>
改成
<property name="database.driver.file" value="/${lib.dir}/mysql-connector-java-3.0.15-ga-bin.jar"/>
同时指定数据库与用户名。我的配置如下(红色部分是要修改的部分)
<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.0-beta-bin.jar"/-->
<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/hibernate"/>
<property name="database.userid" value="root"/>
<property name="database.password" value=""/>
<property name="database.schema" value=""/>
<property name="database.catalog" value=""/>
<property name="jboss.datasource.mapping" value="mySQL"/>
将mysql的驱动程序mysql-connector-java-3.0.15-ga-bin.jar copy 到D:\Middlegen-Hibernate-r5\lib下
4:修改Build.xml
修改D:\Middlegen-Hibernate-r5目录下的build.xml 文件,此文件是Middlegen-Hibernate 的Ant
构建配置。Middlegen-Hibernate将根据build.xml 文件中的具体参数生成数据库表映射
文件
1)第24行 修改数据库连接
将hsqldb.xml 改成mysql.xml
<!ENTITY database SYSTEM "file:./config/database/mysql.xml">
2)第52行 修改输出目录
将${build.dir}/gen-src 改成你要的目录
<property name="build.gen-src.dir" value="D:/Middlegen-Hibernate-r5/sample"/>
3)第184行 对应代码的Package name
hibernate 节点package 属性的默认设置实际上是由前面的
Application Name (${name})和“.hibernate”组合而成,根据我们的需要,
将其改为
<hibernate
destination="${build.gen-src.dir}"
package="org.hibernate.sample"
genXDocletTags="true"
genIntergratedCompositeKeys="false"
javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
/>
这里还有一个属性genXDocletTags,如果设置为true,则生成的代码将包含
xdoclet tag。
4)第33行 修改应用名
将原来的
<property name="name" value="airline"/>
改成
<property name="name" value="HibernateSample"/>
5:切换到D:\Middlegen-Hibernate-r5目录,运行ant
参考文献
夏昕 《Hibernate 开发指南》
先决条件:
已经安装了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