利用XDoclet自动生成Hibernate配置文件

Xdoclet 实际上就是一个自动代码生成的工具,它可以生成各种各样的代码或配置文件(如果你很清楚Xdoclet,你也可以对它进行扩展)。在默认的情况下,xdoclet已经给我们提供了很多的解决方案。这些解决方案叫做plugin,即插件。在xdoclet的官方网站上:http://xdoclet.codehaus.org,我们可以获得关于它支持的所有的plugin的情况。

Xdoclet 不是单独可以运行的工具(不像 Ant 工具),它可以与其它工具一起配合运行,如 Ant 。我们下面的例子就是基于 Ant 和 xdoclet 的。

下面就是利用Xdoclet生成Hibernate配置文件的例子:

首先你要下载xdoclet-1.2.3,ant1.6.5,然后建立build.xml文件在src包的根目录下。

build.xml如下:

  1. <?xml version="1.0" encoding="GBK"?>  
  2. <project name="OA系统构建脚本" default="生成Hibernate配置文件" basedir=".">  
  3.   
  4.     <property name="src.dir" value="${basedir}/src"/>  
  5.     <property name="build.dir" value="${basedir}/bin"/>  
  6.     <property name="xdoclet.home" value="D:/share/07_OA/xdoclet/xdoclet-plugins-1.0.3"/>  
  7.   
  8.     <!-- Build classpath -->  
  9.     <path id="xdoclet.task.classpath">  
  10.         <fileset dir="${xdoclet.home}/lib">  
  11.             <include name="**/*.jar"/>  
  12.         </fileset>  
  13.         <fileset dir="${xdoclet.home}/plugins">  
  14.             <include name="**/*.jar"/>  
  15.         </fileset>  
  16.     </path>  
  17.     <taskdef   
  18.         name="xdoclet"  
  19.         classname="org.xdoclet.ant.XDocletTask"  
  20.         classpathref="xdoclet.task.classpath"  
  21.     />  
  22.       
  23.     <target name="生成Hibernate配置文件">  
  24.         <xdoclet>  
  25.             <fileset dir="${src.dir}/com/bjsxt/oa/model">  
  26.                 <include name="**/*.java"/>  
  27.             </fileset>              
  28.             <component  
  29.                 classname="org.xdoclet.plugin.hibernate.HibernateConfigPlugin"  
  30.                 destdir="${src.dir}"  
  31.                 version="3.0"  
  32.                 hbm2ddlauto="update"  
  33.                 jdbcurl="jdbc:mysql://127.0.0.1/oa"  
  34.                 jdbcdriver="com.mysql.jdbc.Driver"  
  35.                 jdbcusername="root"  
  36.                 jdbcpassword="bjsxt"  
  37.                 dialect="org.hibernate.dialect.MySQLDialect"  
  38.                 showsql="true"  
  39.             />  
  40.         </xdoclet>  
  41.     </target>  
  42.     <target name="生成hibernate映射文件">  
  43.         <xdoclet>  
  44.             <fileset dir="${src.dir}/com/bjsxt/oa/model">  
  45.                 <include name="**/*.java"/>  
  46.             </fileset>  
  47.             <component   
  48.                 classname="org.xdoclet.plugin.hibernate.HibernateMappingPlugin"  
  49.                 version="3.0"  
  50.                 destdir="${src.dir}"  
  51.             />  
  52.         </xdoclet>  
  53.     </target>  
  54. </project>  

熟练使用Xdoclet能帮助我们提高工作效率,节省我们的精力,所以是一个非常好的工具,在EJB中也是广泛使用。在今后的学习中会不断深入。