先用eclipse新建一個(gè)項(xiàng)目student作為示范
新建Student類(lèi)
如下:
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及其依賴(lài)包都放在D:/workspace/lib,這些jar文件當(dāng)然都包括hibernate3.jar還有其依賴(lài)包(里面還有其他的東西,例如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
<project name="hibernate-build.xml" default="createDatabase"><property name="classes.dir" value="bin" /><property name="lib.dir" value="../lib" /><property name="src.dir" value="src"/><path id="lib.classpath"><fileset dir="${lib.dir}"><include name="**/*.jar"/></fileset></path><path id="src.classpath"><pathelement location="${src.dir}"/></path><path id="runtime.classpath"><path refid="lib.classpath"></path><path refid="src.classpath"></path></path><target name="createDatabase"><taskdef name="schemaexport" classname="org.hibernate.tool.hbm2ddl.SchemaExportTask"><classpath refid="runtime.classpath" /></taskdef><schemaexport config="${classes.dir}/hibernate.cfg.xml" quiet="false" text="true" delimiter=";" output="database.sql"></schemaexport></target>
如上,看到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)有加入源文件)
成功之后就會(huì)看到在 D:\workspace\student下生成了database.sql文件