build.xml(xdoclet,hibernate,SchemaExportTask)

xml 代码
  1. <!---->xml version="1.0" encoding="UTF-8"?>        (1)在自动生成表时,属性介绍如下:如果只是生成数据库的.sql语句,把text=“true”即可。 
  2. <project name="Test" default="clean" basedir=".">  
  3.     <property name="src.dir" value="${basedir}/src" />  
  4.     <property name="db.dir" value="${basedir}/db" />  
  5.     <property name="lib.dir" value="E:/lib" />  
  6.     <property name="lib-xdoc.dir" value="E:/xdoclet" />  
  7.     <property name="build.dir" value="${basedir}/build" />  
  8.     <property name="classes.dir" value="${build.dir}/classes" />  
  9.     <path id="myclasspath">  
  10.         <fileset dir="${lib.dir}">  
  11.             <include name="*.jar" />  
  12.         fileset>  
  13.         <fileset dir="${lib-xdoc.dir}">  
  14.             <include name="*.jar" />  
  15.         fileset>  
  16.         <pathelement location="${classes.dir}" />  
  17.     path>  
  18.     <target name="init">  
  19.         <mkdir dir="${build.dir}" />  
  20.         <mkdir dir="${classes.dir}"/>  
  21.         <mkdir dir="${db.dir}"/>  
  22.     target>  
  23.     <target name="compile" depends="init" description="编绎">  
  24.         <javac srcdir="${src.dir}" destdir="${classes.dir}" debug="on" deprecation="on" optimize="off" includes="*/**">  
  25.             <classpath refid="myclasspath" />  
  26.         javac>  
  27.     target>  
  28.   
  29.     <target name="clean">  
  30.         <delete dir="${classes.dir}">delete>  
  31.         <delete dir="${build.dir}"/>  
  32.         <delete dir="${db.dir}">delete>  
  33.            
  34.     target>  
  35.   
  36.     <target name="xdoc" description="Generates Hibernate class    descriptor files.">  
  37.         <taskdef name="hibernatedoclet" classname="xdoclet.modules.hibernate.HibernateDocletTask" >  
  38.             <classpath refid="myclasspath" />  
  39.         taskdef>  
  40.         <hibernatedoclet  destdir="${classes.dir}" excludedtags="@version,@author,@todo" force="true" verbose="true" >  
  41.             <fileset dir="${src.dir}">  
  42.                 <include name="net/entity/*.java" />  
  43.             fileset>  
  44.             <hibernate version="2.0" />  
  45.         hibernatedoclet>  
  46.     target>  
  47.     <!---->  
  48.     <!---->  
  49.     <!---->  
  50.     <target name="createDB" depends="xdoc">  
  51.         <taskdef name="schemaexport" classname="org.hibernate.tool.hbm2ddl.SchemaExportTask">  
  52.               <classpath refid="myclasspath">classpath>  
  53.         taskdef>  
  54.          <schemaexport config="${src.dir}/hibernate.cfg.xml" quiet="false" text="false" delimiter=";" output="${db.dir}/database.sql">  
  55.          schemaexport>  
  56.   
  57.     target>  
  58.     <!---->  
  59. 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(最近的)即可。

你可能感兴趣的:(sql,.net,xml,Hibernate,脚本)