当前位置:编程学习 > JAVA >>

Xdoclet + ant自动生成Hibernate配置文件

在使用Hibernate的时候,过多的Hibernate配置文件是一个让人头疼的问题。最近接触了Xdoclet这个工具。它实际上就是一个自动代码生成的工具,Xdoclet不能单独运行,必须搭配其他工具一起使用,比如ant。如果ant的工具不会用,建议先补充一下ant的基本知识在来学习Xdoclet。
        首先保证本机器上的ant是可用的。
2.下载Xdoclet,解压。
3.在ant的build.xml中定义xdoclet任务
在这里我们做的是根据hibernate实体类生成hibernate映射文件,所以得先有Hibernate的实体类。
[java]  
/** 
 * @hibernate.class 
 *      table="T_Party" 
 */  
public class Party {  
      
    /** 
     * @hibernate.id  
     *      generator-class="native"  
     */  
    private int id;  
      
    /** 
     * @hibernate.many-to-one 
     *      column="parentid"   
     */  
    private Party parent;  
      
    /** 
     * @hibernate.set 
     * @hibernate.key  
     *   column = "parentid" 
     * @hibernate.one-to-many 
     *      class = "com.bjsxt.oa.model.Party"   
     */  
    private Set children;  
      
    /** 
     * @hibernate.property 
     *      column="thename" 
     */   
    private String name;  
      
    /** 
     * @hibernate.property 
     */  
    private String sn;  
      
    /** 
     * @hibernate.property 
     */  
    private String description;   
      
    /** 
     *  
     * @return 
     */  
    public Set getChildren() {  
        return children;  
    }  
    public void setChildren(Set children) {  
        this.children = children;  
    }  
    public String getDescription() {  
        return description;  
    }  
    public void setDescription(String description) {  
        this.description = description;  
    }  
      
    /** 
     */   
    public int getId() {  
        return id;  
    }  
    public void setId(int id) {  
        this.id = id;  
    }  
      
  
    public String getName() {  
        return name;  
    }  
    public void setName(String name) {  
        this.name = name;  
    }  
    public Party getParent() {  
        return parent;  
    }  
    public void setParent(Party parent) {  
        this.parent = parent;  
    }  
    public String getSn() {  
        return sn;  
    }  
    public void setSn(String sn) {  
        this.sn = sn;  
    }  
}  
 
         在实体类上加上相应的注解后,在ant中定义一个新的xdoclet任务。
 
[java]  
<?xml version="1.0" encoding="GBK"?>  
<project name="系统构建脚本" default="生成Hibernate配置文件" basedir=".">  
  
    <property name="src.dir" value="${basedir}/src"/>  
    <property name="build.dir" value="${basedir}/bin"/>  
    <property name="webapp.dir" value="${basedir}/src/webapp"/>  
    <property name="xdoclet.home" value="E:\xdoclet-plugins-1.0.3"/>  
  
    <!-- Build classpath -->  
    <path id="xdoclet.task.classpath">  
        <fileset dir="${xdoclet.home}/lib">  
            <include name="**/*.jar"/>  
        </fileset>  
        <fileset dir="${xdoclet.home}/plugins">  
            <include name="**/*.jar"/>  
        </fileset>  
    </path>  
    <taskdef   
        name="xdoclet"  
        classname="org.xdoclet.ant.XDocletTask"  
        classpathref="xdoclet.task.classpath"  
    />  
      
    <target name="生成Hibernate配置文件">  
        <xdoclet>  
            <fileset dir="${src.dir}/com/bjsxt/oa/model">  
                <include name="**/*.java"/>  
            </fileset>              
            <component  
                classname="org.xdoclet.plugin.hibernate.HibernateConfigPlugin"  
                destdir="${src.dir}"  
                version="3.0"  
                hb
补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,