hbm2java和hbm2ddl的使用步骤
?最近在項目中使用了hibernate作為持久層技術方案,所以為了加快開發效率.我使用了一些工具,如hbm2java和hbm2ddl,ant
那什么是hbm2java呢,顧名思義就是**.hbm.xml自動生成javabean.而hbm2ddl就是**.hbm.xml生成特定數據庫的SQL.那接下來我介紹這幾個工具如何使用.
1.首先需要安裝ant.
將ant下載后解壓到任意目錄下(如果有eclipse的話,本身就集成有ant,所以不用在下載).然后在環境變量中設置ANT_HOME,ANT_HOME為ant的安裝路徑,然后將ANT_HOME/lib加入到classpath中,將ANT_HOME/bin加到path中.這樣就完成了ant的環境設置.
2.書寫bulid.xml
?要使用ant,必須要編寫bulid.xml文件,用下面的一個bulid.xml例子來說明怎么使hbm2java和hbm2ddl工作.
<?xml version="1.0"?>
?<project name="" basedir="." default="">
?<property name="source.root" value="src"/>
?<property name="class.root" value="classes"/>
?<property name="lib.dir" value="lib"></property>
?<property name="schema.dir" value="schema"></property>?
?
? <path id="project.path">
? ?<pathelement location="${class.root}"/>
??? <fileset dir="WebRoot/WEB-INF/lib">
????? <include name="*.jar"/>
??? </fileset>
? </path>
?<target name="prepare" description="Set up bulid structures">
??<delete dir="${class.root}"></delete>
??? <mkdir dir="${class.root}"/>
??<copy todir="${class.root}">
??<fileset dir="${source.root}">
???<include name="**/*.hbm.xml"/>
??</fileset>
??</copy>
??
?</target>
?<target name="compile" depends="hbm2java">
?<javac srcdir="src/com/hollycrm/testframework/bean"
??????? destdir="${class.root}"
??????? debug="on"
??????? optimize="off"
??????? deprecation="on">??
?<classpath refid="project.path"/>
</javac>
?</target>
?
??? <target name="hbm2java" depends="prepare">
????? <taskdef name="hbm2java" classname="net.sf.hibernate.tool.hbm2java.Hbm2JavaTask" classpathref="project.path"/>
//net.sf.hibernate.tool.hbm2java.Hbm2JavaTask類必須在項目lib下.
????? <hbm2java config="hibernate.codegen.xml" output="${source.root}">
<!--hibernate.codegen.xml是一個輔助用的xml內容是
<codegen>
? <generate renderer="net.sf.hibernate.tool.hbm2java.BasicRenderer"/>
</codegen>
-->
??????? <fileset dir="${source.root}">
????????? <include name="**/*.hbm.xml"/>??
??????? </fileset>
????? </hbm2java>
??? </target>
??? ?
??<target name="hbm2ddl" depends="compile" description="Create SQL by *.hbm.xml">
??????? <taskdef name="hbm2ddlexport"
?? classname="net.sf.hibernate.tool.hbm2ddl.SchemaExportTask"
?? classpathref="project.path"/>
?? <hbm2ddlexport properties="hibernate.properties"
???? quiet="no" drop="no" text="yes" output="hibernate.sql" delimiter=";">
/**
hibernate.properties中設置生成何種數據庫SQL比如生成MySQL腳本DDL則:
hibernate.dialect=net.sf.hibernate.dialect.MySQLDialect
hibernate.connection.dirver_class=org.gjt.mm.mysql.Driver
hibernate.connection.url=jdbc:mysql://localhost:3306/mytest
hibernate.connection.username=root
hibernate.connection.password=jordan
hibernate.show_sql=true
其他數據庫以此類推
*/
???? <fileset dir ="${class.root}">
???? <include name="**/*.hbm.xml"/>
???? </fileset>?
????? </hbm2ddlexport>?
??</target>
??
</project>
?
3.執行ant,在cmd中,到build.xml所在的路徑下.執行 ant hbm2java則由**.hbm.xml 生成 javabean,執行ant hbm2ddl則生成該**.hbm.xml對應的ddl文件.
4.到此為之,hbm2java和hbm2ddl介紹完畢.如果想用ddl生成hbm.xml可以選擇使用Middlegen?? javabean生成映射文件則可以使用XDoclet來實現.
總結
以上是生活随笔為你收集整理的hbm2java和hbm2ddl的使用步骤的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用Eclipse/MyEclipse
- 下一篇: Eclipse juno 中安装 JBo