1、 环境安装
下载Middlegen-Hibernate:http://prdownloads.sourceforge.net/hibernate/
下载ant: http://archive.apache.org/dist/ant/
分别解压
设置环境变量中的path 把ant解压后目录的bin目录添加进去(别忘了和前一个项用;分隔)
把jtds驱动复制到Middlegen-Hibernate的解压后的目录的lib目录中
在Middlegen-Hibernate的目录的config\database中打开mssql.xml
改成
<property name="database.script.file" value=""/>
<property name="database.driver.file" value="${lib.dir}/sqlserver-4.0.jar"/>
<property name="database.driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="database.url" value="jdbc:sqlserver://10.17.12.47:1433;databaseName=yjs"/>
<property name="database.userid" value="sa"/>
<property name="database.password" value="Windows2008"/>
<property name="database.schema" value="dbo"/>
<property name="database.catalog" value="yjs"/>
后两个分别是登陆身份和数据库,必须填写,并且database.url后边也要有数据库名称
在Middlegen-Hibernate的根目录下,修改build.xml
<!DOCTYPE project [
<!ENTITY database SYSTEM
"file:./config/database/hsqldb.xml">
]>
改成file:./config/database/mssql.xml
是配制数据库的,用的什么数据库改成什么文件
<property name="name" value="airline"/>
工程名称,现在还没体现到有用:)也先改了吧
<propertyname="name" value="HibernateSample"/>
<propertyname="build.gen-src.dir"
value="${build.dir}/gen-src"/>
输出路径,改成
<propertyname="build.gen-src.dir" value="C:\temp"/>
<hibernate
destination="${build.gen-src.dir}"
package="${name}.hibernate"
genXDocletTags="false"
genIntergratedCompositeKeys="false"
javaTypeMapper=
"middlegen.plugins.hibernate.HibernateJavaTypeMapper"
/>
生成的包(package)是什么,改成
<hibernate
destination="${build.gen-src.dir}"
package="xxxx.xxxx.xxxx"
genXDocletTags="true"
genIntergratedCompositeKeys="false"
javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
/>
别人对genXDocletTags是这么写的:这里还有一个属性genXDocletTags,如果设置为true,则生成的代码将包含xdoclet tag,这为以后在开发过程中借助xdoclet进行映射调整提供了帮助
配制完成,在cmd下,进入Middlegen-Hibernate根目录 输入ant,等着界面出来吧
界面出来能看见所选的数据库中的所有表,表的主键,表关系,点表,主键,字段,在下边会有不同的反应
1Domain Class Name
对应POJO 的类名
2 KeyGenerator
主键产生器
一般而言,利用uuid.hex方式生成主键将提供最好的性能和数据库平台适
应性。
5Persister
自定义持久类实现类类名
7Dynamic Update
如果选定,则生成UpdateSQL 时不包含未发生变动的字段属性,这样可
以在一定程度上提升SQL执行效能。
9.10分别是Lifecyle和Validatable接口
别的目前认为没什么用~~~
点击字段,还可以编辑字段
1 Hibernate mapping specialty
映射类型:
Key :主键
Property :属性
2 java property name
字段对应的java 属性名
3 java Type
字段对应的java 数据类型
4Column updateable
生成UpdateSQL时是否包含本字段。
5Column insertable
生成InsertSQL时是否包含本字段。
都弄好了之后点左上角的Generate 按钮,将生成所选择数据库中所有表的映射文件,是所有表!
2、 生成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
这些jar文件可以在一下地址下载:
hibernate3.jar http://download.csdn.net/detail/yangxiao_1980/9421245
hibernate-tools.jar http://download.csdn.net/detail/yangxiao_1980/9421248
dom4j-1.6.1.jar http://download.csdn.net/detail/yangxiao_1980/9421252
slf4j-log4j12-1.5.2.jar http://download.csdn.net/detail/yangxiao_1980/9421254
slf4j-api-1.5.2.jar http://download.csdn.net/detail/yangxiao_1980/9421256
slf4j-jdk14-1.5.2.jar http://download.csdn.net/detail/yangxiao_1980/9421278
freemarker.jar http://download.csdn.net/detail/yangxiao_1980/9421260
再次打开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"
/>
<hbm2javaoutput="${build.gen-src.dir}">
<filesetdir="${build.gen-src.dir}">
<includename="**/*.hbm.xml"/>
</fileset>
</hbm2java>
</target>
为
<targetname="hbm2java" description="Generate .java from .hbmfiles.">
<taskdef
name="hbm2java"
classname="org.hibernate.tool.ant.HibernateToolTask"
classpathref="lib.class.path"
/>
<hbm2java destdir="${build.gen-src.dir}">
<configuration>
<filesetdir="${build.gen-src.dir}">
<includename="**/*.hbm.xml"/>
</fileset>
</configuration>
<hbm2javajdk5="true"/>
</hbm2java>
</target>
由于Middlegen生成的hbm文件是里面的引用是hibernate2的DTD,因此修改生成的hbm.xml里面hibernate2的DTD 由
<!DOCTYPEhibernate-mapping PUBLIC
"-//Hibernate/HibernateMapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
变为
<!DOCTYPEhibernate-mapping PUBLIC
"-//Hibernate/HibernateMapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
(也就是将2变为3,这样就不会出现“Don’t use old DTDs,read the Hibernate3.xMigration Guide!”错误)
运行ant hbm2java,生成的POJO文件位于build\mysrc\model文件夹下。