ant类似makefile
XDoclet是根据注释生成struts的struts-config.xml配置文件、javascript校验等。
初步感觉这两个结合只要是为了自动生成hibernate.cfg.xml,现在我爱用Annotation,这个用处不大。仅记录一下 以后好查找
build.xml
<?xml version="1.0" encoding="GBK"?>
<project name="OA系统构建脚本" default="生成Hibernate配置文件" basedir=".">
<property name="src.dir" value="${basedir}/src"/><!-- 源代码目录 -->
<property name="xdoclet.home" value="D:/xdoclet-plugins-dist-1.0.4"/><!-- XDoclet目录 -->
<!-- build classpath -->
<path id="xdoclet.task.classpath">
<fileset dir="${xdoclet.home}/lib">
<include name="**/*.jar"/><!-- 上述目录下以及子目录下的,所有jar文件 -->
</fileset>
</path>
<!-- 自定义ant任务 -->
<taskdef
name="xdoclet"
classname="org.xdoclet.ant.XDocletTask"
classpathref="xdoclet.task.classpath"
/>
<target name="生成Hibernate配置文件(hibernate.cfg.xml)">
<xdoclet>
<fileset dir="${src.dir}/com/oa/model">
<include name="**/*.java"/>
</fileset>
<component
classname="org.xdoclet.plugin.hibernate.HibernateConfigPlugin"
destdir="${src.dir}"
version="3.0"
hbm2ddlauto="update"
jdbcurl="jdbc:mysql://localhost/oa"
jdbcdriver="com.mysql.jdbc.Driver"
jdbcusername="root"
jdbcpassword="123"
dialect="org.hibernate.dialect.MySQLDialect"
showsql="true"
/>
</xdoclet>
</target>
<target name="生成hibernate映射文件">
<xdoclet>
<fileset dir="${src.dir}/com/oa/model">
<include name="**/*.java"/>
</fileset>
<component
classname="org.xdoclet.plugin.hibernate.HibernateMappingPlugin"
version="3.0"
destdir="${src.dir}"
/>
</xdoclet>
</target>
</project>
model中写一个XDoclet能是别的注释,表名是t_user
/**
*
* @author zudajun225
* @hibernate.class table="t_user"
*/
public class User {
/**
* @hibernate.id
* generator-class="native"
*/
private int id;
/**
* 登陆账号
* @hibernate.property
* not-null="true"
* unique="true"
*/
private String username;
/**
* 登陆密码
* @hibernate.property
* not-null="true"
*/
private String password;
/**
* 创建时间
* @hibernate.property update="false"
*/
private Date createTime;
/**
* 失效时间
* @hibernate.property
*/
private Date expireTime;
/**
* 人员信息
* @hibernate.many-to-one
* unique="true"
*/
private Person person;