先用eclipse新建一個(gè)項(xiàng)目student作為示范
新建Student類
如下:
package student;
public class Student {
private Long id;
private String name;
private String sex;
private String email;
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
接下來(lái)編寫(xiě)ant任務(wù)生成數(shù)據(jù)庫(kù)文件
注意:
我把eclipse放在了D盤(pán),即D:/eclipse,eclipse對(duì)應(yīng)的workspace也在D盤(pán),D:/workspace
我把所有的lib及其依賴包都放在D:/workspace/lib,這些jar文件當(dāng)然都包括hibernate3.jar還有其依賴包(里面還有其他的東西,例如spring的jar還有xdoclet的jar,這里用不到就不涉及了)
在D:/workspace/student項(xiàng)目目錄下新建一個(gè)hibernate-build.xml用于書(shū)寫(xiě)ant任務(wù),文件目錄如下:D:/workspace/student/hibernate-build.xml
當(dāng)然,eclipse 項(xiàng)目的文件我是分成兩個(gè)目錄的,即src(存儲(chǔ)原文件,后綴為.java)和bin(存儲(chǔ)編譯過(guò)的文件,后綴為.class)
目錄D:/workspace/student/src/Student.java
D:/workspace/student/bin/Student.class





























如上,看到quiet="false" text="true" delimiter=";" 了嗎
還是要解釋一下
quiet=t"rue" 不要把腳本輸出到stdout
drop="true" 只進(jìn)行drop tables的步驟
text="true" 不執(zhí)行在數(shù)據(jù)庫(kù)中運(yùn)行的步驟
output="database.sql" 把生成的腳本輸出到database.sql文件中
config="hibernate,cfg.xml" 從xml文件讀取hibernate的配置
properties="hibernate.properties" 從文件讀入數(shù)據(jù)庫(kù)屬性
delemiter=";" 為腳本設(shè)置行結(jié)束符
注意運(yùn)行的classpath要包括所有用到的jar還有src源文件(之前弄了多次都不成功,,原因就是沒(méi)有加入源文件)
<path id="runtime.classpath">
<path refid="lib.classpath"></path>
<path refid="src.classpath"></path>
</path>
成功之后就會(huì)看到在 D:\workspace\student下生成了database.sql文件
下次講在xdoclet下生成 hbm.xml和hibernate.cfg.xml文件