天天看點

在MyEclipse中利用XDoclet自動生成Hibernate配置和映射檔案

在MyEclipse中利用XDoclet自動生成Hibernate配置和映射檔案

在使用Hibernate架構時,如果實體類一多,在映射檔案中需要配置的映射就會增多,如果手工做的話,經常會出現寫錯的情況,利用XDoclet工具可以自動地生成映射檔案和配置檔案,隻要注解寫正确了幾乎避免了出錯的可能。

XDoclet基于ant,先要下解壓ant,配置好ant的環境變量才能使用XDoclet。在ant已經配置好後,下載下傳XDoclet-pliugins-1.03.zip包,解壓到某個目錄即可使用(這裡解壓到D:\)

在MyEclipse中使用XDoclet的基本步驟:

1、 建立ant腳本build.xml

<?xml version="1.0" encoding="GBK"?>

<project name="XdocletTest系統建構腳本" default="生成Hibernate配置檔案" basedir=".">

<property name="src.dir" value="${basedir}/src"/>

<property name="xdoclet.home" value="D:/xdoclet-plugins-1.0.3"/>

<!-- Build classpath -->

<path id="xdoclet.task.classpath">

<fileset dir="${xdoclet.home}/lib">

<include name="***.jar"/>

</fileset>

</path>

<taskdef

name="xdoclet"

classname="org.xdoclet.ant.XDocletTask"

classpathref="xdoclet.task.classpath" target="_blank" rel="external nofollow"

/>

<target name="生成Hibernate配置檔案">

<xdoclet>

<fileset dir="${src.dir}/org/zc/xdoclet/model">

<include name="***.java"/>

</fileset>

<component

classname="org.xdoclet.plugin.hibernate.HibernateMappingPlugin"

version="3.0"

destdir="${src.dir}"

/>

</xdoclet>

</target>

</project>

說明:

注釋<!-- Build classpath -->以上的腳本意圖在找到xdoclet的目錄,

注釋以下的内容主要做了以下三件事:

① 找到并導入xdoclet下的所有jar包;

② 自定義腳本生成Hibernate配置檔案hibernate.cfg.xml ,這裡定義了資料庫方言及一些常用的屬性;

③ 自定義腳本生成Hibernate映射檔案,根據已經寫好了的含有xdoclet注解的java實體類自動生成映射檔案。

2、 定義實體類并寫注解。

實體類User.java

package org.zc.xdoclet.model;

public class User {

private int id;

private String name;

private String password;

private Group group;

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 String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public Group getGroup() {

return group;

}

public void setGroup(Group group) {

this.group = group;

}

}

實體類Group.java

package org.zc.xdoclet.model;

public class Group {

private int id;

private String name;

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;

}

}

說明:

實體類中的注解(如@hibernate.property)用來标明映射檔案的屬性配置,包括生成的資料庫表的名字、主鍵的生成方式、是否啟用hbm2ddl、對象間的對應關系等。如果想要指定對象在資料庫表中的字段值和類型,隻需在實體類的注解中聲明即可。

3、 在MyEclipse中利用XDoclet自動生成Hibernate配置檔案和映射檔案

① 在MyEclipse中加入XDoclet---

右擊項目,依次打開properties >> MyEclipse >> XDoclet >> Add Standard… ,選中Standard Hibernate ,點選OK即可加入XDoclet

② 自動生成Hibernate配置檔案和映射檔案---

右擊項目,點選MyEclipse >> Run XDoclet ,即可生成配置檔案和映射檔案