[quote]本文中示例基于mysql数据库[/quote]
[size=large][b]1.下载Middlegen相关代码[/b][/size]
(1)Middlegen [url]http://voxel.dl.sourceforge.net/sourceforge/hibernate/middlegen-hibernate-r5.zip[/url]
(2)hibernate3.x [url]http://sourceforge.net/projects/hibernate/files/hibernate3/[/url]
(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 [url]http://sourceforge.net/projects/freemarker/files/freemarker/2.3.16/freemarker-2.3.16.tar.gz/download[/url]
mysql-connector-java-5.0.8-bin.jar
[color=red]将以上jar文件放入middlegen-hibernate-r5的lib目录中[/color]
[size=large][b]2.使用Middlegen 生成hibernate映射文件[/b][/size]
[b][i]2.1 配置数据库文件[/i] [/b]
进入d:\middlegen-hibernate-r5 目录下的\config\database 子目录,选择你要得数据库文件,我使用的是mysql.
将原来的
改成
其中mysql-connector-java-5.0.8-bin.jar为你自己数据库驱动文件的名字。
下面指定数据库与用户名以及密码。
将mysql的驱动程序mysql-connector-java-3.0.15-ga-bin.jar copy 到d:\middlegen-hibernate-r5\lib下
[b][i]2.2修改build.xml [/i][/b]
修改d:\middlegen-hibernate-r5目录下的build.xml 文件,此文件是middlegen-hibernate 的ant
构建配置。middlegen-hibernate将根据build.xml 文件中的具体参数生成数据库表映射
文件
1)第24行 修改数据库连接
将hsqldb.xml 改成mysql.xml
2)第52行 修改输出目录
将${build.dir}/gen-src 改成你要的目录
3)第184行 对应代码的package name
hibernate 节点package 属性的默认设置实际上是由前面的
application name (${name})和“.hibernate”组合而成,根据我们的需要,
将其改为
这里还有一个属性genxdoclettags,如果设置为true,则生成的代码将包含
xdoclet tag。
4)第33行 修改应用名
将原来的
改成
运行ant ,会生成一个界面
点击界面上的generate按钮则map文件会在定义目录下面生成hibernate的映射文件。
[size=large][b]3.使用Middlegen生成java代码[/b][/size]
按照上述的配置 运行再运行ant hbm2java任务,会出现下面的异常:
[quote]doesn't support the "output" attribute 与net/sf/hibernate/MappingException[/quote]
这是因为引用的是Hibernate3要与之前的Hibernate2配置有很大不同。
配置修改如下:
将之前的hbm2java target 删掉或者注释掉。
就是注释掉下面这一段:
Okay,现在运行 ant hbm2java 就能得到 java POJO.
[size=large][b]1.下载Middlegen相关代码[/b][/size]
(1)Middlegen [url]http://voxel.dl.sourceforge.net/sourceforge/hibernate/middlegen-hibernate-r5.zip[/url]
(2)hibernate3.x [url]http://sourceforge.net/projects/hibernate/files/hibernate3/[/url]
(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 [url]http://sourceforge.net/projects/freemarker/files/freemarker/2.3.16/freemarker-2.3.16.tar.gz/download[/url]
mysql-connector-java-5.0.8-bin.jar
[color=red]将以上jar文件放入middlegen-hibernate-r5的lib目录中[/color]
[size=large][b]2.使用Middlegen 生成hibernate映射文件[/b][/size]
[b][i]2.1 配置数据库文件[/i] [/b]
进入d:\middlegen-hibernate-r5 目录下的\config\database 子目录,选择你要得数据库文件,我使用的是mysql.
将原来的
<property name="database.driver.file" value="${lib.dir}/***"/> 改成
<property name="database.driver.file" value="${lib.dir}/mysql-connector-java-5.0.8-bin.jar"/>其中mysql-connector-java-5.0.8-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"/>
<!--下面的hibernate为你的数据库名字>
<property name="database.url" value="jdbc:mysql://localhost:3306/test"/>
<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下
[b][i]2.2修改build.xml [/i][/b]
修改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="${build.dir}/***" /> 3)第184行 对应代码的package name
hibernate 节点package 属性的默认设置实际上是由前面的
application name (${name})和“.hibernate”组合而成,根据我们的需要,
将其改为
<hibernate
destination="${build.gen-src.dir}"
package="org.hibernate.test"
genxdoclettags="true"
genintergratedcompositekeys="false"
javatypemapper="middlegen.plugins.hibernate.hibernatejavatypemapper"
/> 这里还有一个属性genxdoclettags,如果设置为true,则生成的代码将包含
xdoclet tag。
4)第33行 修改应用名
将原来的
<property name="name" value="airline"/> 改成
<property name="name" value="test"/> 运行ant ,会生成一个界面
点击界面上的generate按钮则map文件会在定义目录下面生成hibernate的映射文件。
[size=large][b]3.使用Middlegen生成java代码[/b][/size]
按照上述的配置 运行再运行ant hbm2java任务,会出现下面的异常:
[quote]doesn't support the "output" attribute 与net/sf/hibernate/MappingException[/quote]
这是因为引用的是Hibernate3要与之前的Hibernate2配置有很大不同。
配置修改如下:
<!--=====hibernate 3=====-->
<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> 将之前的hbm2java target 删掉或者注释掉。
就是注释掉下面这一段:
<!--=== hibernate 2 =====
<target name="hbm2java" description="Generate .java from .hbm files.">
<taskdef name="hbm2java" classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="lib.class.path" />
<configuration>
<hbm2java output="${build.gen-src.dir}">
<fileset dir="${build.gen-src.dir}">
<include name="**/*.hbm.xml" />
</fileset>
</hbm2java>
</target>
-->Okay,现在运行 ant hbm2java 就能得到 java POJO.
本文介绍如何使用Middlegen工具生成针对MySQL数据库的Hibernate映射文件及对应的Java POJO对象,包括下载所需资源、配置数据库连接和构建文件等步骤。
5825

被折叠的 条评论
为什么被折叠?



