xml 代码
- xml version="1.0" encoding="UTF-8"?> (1)在自动生成表时,属性介绍如下:如果只是生成数据库的.sql语句,把text=“true”即可。
- <project name="Test" default="clean" basedir=".">
- <property name="src.dir" value="${basedir}/src" />
- <property name="db.dir" value="${basedir}/db" />
- <property name="lib.dir" value="E:/lib" />
- <property name="lib-xdoc.dir" value="E:/xdoclet" />
- <property name="build.dir" value="${basedir}/build" />
- <property name="classes.dir" value="${build.dir}/classes" />
- <path id="myclasspath">
- <fileset dir="${lib.dir}">
- <include name="*.jar" />
- fileset>
- <fileset dir="${lib-xdoc.dir}">
- <include name="*.jar" />
- fileset>
- <pathelement location="${classes.dir}" />
- path>
- <target name="init">
- <mkdir dir="${build.dir}" />
- <mkdir dir="${classes.dir}"/>
- <mkdir dir="${db.dir}"/>
- target>
- <target name="compile" depends="init" description="编绎">
- <javac srcdir="${src.dir}" destdir="${classes.dir}" debug="on" deprecation="on" optimize="off" includes="*/**">
- <classpath refid="myclasspath" />
- javac>
- target>
- <target name="clean">
- <delete dir="${classes.dir}">delete>
- <delete dir="${build.dir}"/>
- <delete dir="${db.dir}">delete>
- target>
- <target name="xdoc" description="Generates Hibernate class descriptor files.">
- <taskdef name="hibernatedoclet" classname="xdoclet.modules.hibernate.HibernateDocletTask" >
- <classpath refid="myclasspath" />
- taskdef>
- <hibernatedoclet destdir="${classes.dir}" excludedtags="@version,@author,@todo" force="true" verbose="true" >
- <fileset dir="${src.dir}">
- <include name="net/entity/*.java" />
- fileset>
- <hibernate version="2.0" />
- hibernatedoclet>
- target>
- <target name="createDB" depends="xdoc">
- <taskdef name="schemaexport" classname="org.hibernate.tool.hbm2ddl.SchemaExportTask">
- <classpath refid="myclasspath">classpath>
- taskdef>
- <schemaexport config="${src.dir}/hibernate.cfg.xml" quiet="false" text="false" delimiter=";" output="${db.dir}/database.sql">
- schemaexport>
- target>
- project>
(1)在自动生成表时,属性介绍如下:如果只是生成数据库的.sql语句,把text=“true”即可。
quiet=t"rue" 不要把脚本输出到stdout
drop="true" 只进行drop tables的步骤
text="true" 不执行在数据库中运行的步骤
output="database.sql" 把生成的脚本输出到database.sql文件中
config="hibernate,cfg.xml" 从xml文件读取hibernate的配置
properties="hibernate.properties" 从文件读入数据库属性
delemiter=";" 为脚本设置行结束符
(2)在生成的过程中可能出现下面的问题:destDir attribute must be present.这是ant1.6和xdoclet1.2结合出现的一个BUG,解决方式是把ant1.6*换成1.5*或者1.70(最近的)即可。