1、配置ant,ant-1.7.1 官方下载:http://ant.apache.org/bindownload.cgi(详细配置请参照我的上一篇文章)
2、配置middlegen
(1)下载,http://nchc.dl.sourceforge.net/sourceforge/hibernate/Middlegen-Hibernate-r5.zip
(2)解压后,将数据库驱动包(我这里是mysql-connector-java-5.1.17-bin.jar)放在D:\JAVA\important\Middlegen-Hibernate-r5\lib目录下;
(3)修改build.xml文件,
a、找到
<!DOCTYPE project [
<!ENTITY database SYSTEM "file:./config/database/hsqldb.xml">
]>
将hsqldb.xml改成mysql.xml
b、找到<property name="name" value="airline"将airline改成自己的项目名
c、找到
<hibernate
destination="${build.gen-src.dir}"
package="model"
genXDocletTags="flase"
genIntergratedCompositeKeys="false"
javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
/>
将package中的内容改成自己的包名
(4)到D:\JAVA\important\Middlegen-Hibernate-r5\config\database目录下找到mysql.xml,修改数据库,用户名和密码,将数据库驱动名改为(2)中添加的数据库驱动名称。
(5)运行
到cmd下,切换到D:\JAVA\important\Middlegen-Hibernate-r5目录下,运行,即可生成数据库表对应的hbm.xml文件,保存在D:\JAVA\important\Middlegen-Hibernate-r5\build\gen-src+(3)b中自定义的包名路径下。
生成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,生成的POJO文件位于build/mysrc/com/test/model文件夹下。
附:
生成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 下载