xiaoniao

利用xdoclet开发hibernate3的ant通用代码

本文章是根据冰云BLOG上的文章改写的,主要强调Hbm2Java部分的写法,基本内容如下:

1.拷贝必须的JAR文件
  下载
hibernate-tools-3.0alpha1 可以到http://prdownloads.sourceforge.net/hibernate/hibernate-tools-      3.1.0.alpha5.zip下载
    以下为必须的的JAR文件
    jtidy-r8-21122004.jar

    velocity-tools-generic-1.1.jar
    hibernate-tools.jar
    hibernate3.jar
   这四个文件存在于 hibernate-tools-3.0alpha1 /plugins/org.hibernate.eclipse_3.0.0.alpha/lib目录下面

   

  数据库驱动程序.jar
  这两个文件根据实际情况自定
2.拷贝这些文件到你的工程lib目录下面
3.拷贝下面的ant代码到你的工程

<?xml version="1.0" encoding="utf-8"?>
<project name="
利用工具开发Hibernate" default="help" basedir=".">

 <!-- ******  环境设置,可以根据自己的实际配置自行更改 ***** -->
 <!-- ******  http://blog.csdn.net/fasttalk    ***** -->
 <!-- ******  http://www.blogjava.net/asktalk  ***** -->
 <!--
源文件目录, 可以通过项目->属性->Java构建路径更改 -->
 <property name="src.dir" value="./src" />
 <!--
输出的class文件目录,可以通过项目->属性->Java构建路径更改 -->
 <property name="class.dir" value="./bin" />
 <!--
库文件目录  -->
 <property name="lib.dir" value="E:/workspace/java/hibernate3" /><!-这里可以改写成你工程存在的lib目录--->

 <!-- 定义类路径 -->
 <path id="project.class.path">
  <fileset dir="${lib.dir}">
   <include name="*.jar"/>
  </fileset>
  <pathelement location="${class.dir}" />
 </path>

 <!-- ************************************************************** -->
 <!--
使用说明 -->
 <!-- ************************************************************** -->
 <target name="help">
  <echo message="
利用工具开发Hibernate" />
  <echo message="-----------------------------------" />
  <echo message="" />
  <echo message="
提供以下任务:" />
  <echo message="" />
  <echo message="generate-hbm     -->
运行HibernateDoclet,生成 Hibernate 类的映射文件" />
  <echo message="schemaexport     -->
运行SchemaExport,利用 hbm.xml 文件生成数据表" />
  <echo message="" />
 </target>


 <!-- ************************************************************** -->
 <!-- Hbm2Java
任务hibernate3中无法实现 -->
 <!-- ************************************************************** -->
 <target name="generate-code" >
  <echo message="
运行 Hbm2Java 任务,利用 hbm.xml 文件生成Java类文件"/>

  <taskdef name="hbm2java"
       classname="org.hibernate.tool.hbm2java.Hbm2JavaTask"
          classpathref="project.class.path">
  </taskdef>

  <hbm2java output="${src.dir}"><!--这里为产生的JAVA类文件目录-->
   <fileset dir="${src.dir}">
    <include name="**/*.hbm.xml"/>
   </fileset>
  </hbm2java>
 </target>


 <!-- ************************************************************** -->
 <!-- HibernateDoclet
任务 -->
 <!-- ************************************************************** -->
 <target name="generate-hbm" >
  <echo message="
运行HibernateDoclet,生成 Hibernate 类的映射文件"/>

  <taskdef name="hibernatedoclet"
   classname="xdoclet.modules.hibernate.HibernateDocletTask"
   classpathref="project.class.path">
  </taskdef>
        <!--
        destdir        
输出目录;
        force,         
每次都强行执行,覆盖原有文件;
        -->
  <hibernatedoclet destdir="${src.dir}"
   excludedtags="@version,@author,@todo" force="true" encoding="GBK"
   verbose="true">

   <fileset dir="${src.dir}">
    <include name="**/*.java"/>
   </fileset>

   <hibernate version="3.0" xmlencoding="utf-8" />
  </hibernatedoclet>
 </target>


 <!-- ************************************************************** -->
 <!-- SchemaExport
任务 -->
 <!-- ************************************************************** -->
 <target name="schemaexport">
  <echo message="
运行SchemaExport,利用 hbm.xml 文件生成数据表"/>

  <taskdef name="schemaexport"
   classname="org.hibernate.tool.hbm2ddl.SchemaExportTask"
   classpathref="project.class.path">
  </taskdef>
      <!--
      quiet=true                      
不要把脚本输出到stdout;
      drop=true                       
只进行drop tables的步骤 ;
      text=true                       
不执行在数据库中运行的步骤 ;
      output=my_schema.ddl            
把输出的ddl脚本输出到一个文件 ;
      config=hibernate.cfg.xml        
XML文件读入Hibernate配置 ;
      properties=hibernate.properties 
从文件读入数据库属性 ;
      format=true                     
把脚本中的SQL语句对齐和美化 ;
      delimiter=x                     
为脚本设置行结束符
      -->
  <schemaexport properties="src/hibernate.properties"
  quiet="no" text="no" drop="no"  output="schema-export.sql" >
         <fileset dir="${src.dir}">
             <include name="**/*.hbm.xml"/> 
         </fileset>
  </schemaexport>
 </target>

</project>

posted on 2006-07-26 21:12 小鸟 阅读(374) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 
<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

文章档案

搜索

最新评论

阅读排行榜

评论排行榜