用了這麼久的hibernate,一直都是從ddl->hbm->java,最後做少量的修改.但是總是覺得並沒有以oo的思想去構建object.在這個項目中就體驗從java->hbm->ddl的構建過程. 開發環境 eclipse 3.0.1+ant1.6+xdoclet1.2.2+mysql4.1.8 整個項目中的生成工具是xdoclet.那麼首先就是xdoclet的配置和使用方法了. 1.將各個框架和工具所需要的jar文件拷貝至項目的lib目錄下. 2.編寫ddl-build.xml,內容如下: <?xml version="1.0" encoding="UTF-8" ?> <project default="exportdb" basedir="."> <property name="appname" value="Helloworld" /> <property name="base" value="." /> <property name="src.dir" value="src"/> <property name="build.dir" value="bin"/> <property name="db.dir" value="datebase" /> <property name="lib.dir" value="lib" /> <property name="xdoclet.lib" value="${lib.dir}/xdoclet" /> <property name="mysql.schema" value="${base}/${db.dir}/db.sql" /> <path id="myclasspath"> <fileset dir="${lib.dir}"> <include name="*.jar" /> </fileset> <pathelement location="${build.dir}" /> </path> <target name="genhbmfile" description="Generates Hibernate Mapping File"> <echo>+---------------------------------------------------+</echo> <echo>| Generates Hibernate Mapping File |</echo> <echo>+---------------------------------------------------+</echo> <taskdef name="hibernatedoclet" classname="xdoclet.modules.hibernate.HibernateDocletTask"> <classpath refid="myclasspath" /> </taskdef> <hibernatedoclet destdir="${src.dir}" excludedtags="@version,@author,@todo" force="true" verbose="true"> <fileset dir="${src.dir}"> <include name="**/*.java" /> </fileset> <hibernate version="2.0" /> </hibernatedoclet> </target> <target name="compile"> <echo>+---------------------------------------------------+</echo> <echo>| Compile java class |</echo> <echo>+---------------------------------------------------+</echo> <mkdir dir="${build.dir}" /> <javac classpathref="myclasspath" srcdir="${src.dir}" destdir="${build.dir}"> <include name="**/*.java" /> </javac> <copy todir="${build.dir}"> <fileset dir="${src.dir}"> <exclude name="**/*.java" /> </fileset> </copy> </target> <target name="exportdb" depends="genhbmfile,compile"> <echo>+---------------------------------------------------+</echo> <echo>| Create database table |</echo> <echo>+---------------------------------------------------+</echo> <java classname="net.sf.hibernate.tool.hbm2ddl.SchemaExport" fork="true"> <classpath refid="myclasspath" /> <arg value="--text" /> <arg value="--${mysql.schema}" /> <!-- insert "hibernate.dialect net.sf.hibernate.dialect.MySQLDialect" to .properties file" --> <arg value="--properties=${src.dir}/hibernate.properties" /> <arg value="--delimiter=;" /> <arg value="${src.dir}/cn/bluewind/security/model/*.xml" /> </java> </target> </project> 因爲項目是在eclipse中開發,所以用xdoclet生成ddl只是對它在開發過程中的一個補充.其他的target沒有編寫. 最後將生成的sql文件導入mysql中.
利用xdoclet生成ddl
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.