6.從數據表生成映射文件
可以從資料庫的表格自動生成映射文件,首先 下載 Middlegen-Hibernate,下載後將之解壓縮。
這邊所使用的資料庫是MySQL,並假設您的資料庫中已有以下的表格:
CREATE TABLE user (
id INT(11) NOT NULL auto_increment PRIMARY KEY,
name VARCHAR(100) NOT NULL default '',
age INT
);
進入Middlegen-Hibernate解壓縮後的config/database目錄中,開啟mysql.xml,修改當中的資料庫配置相關訊息:
mysql.xml
<property name="database.script.file"
value="${src.dir}/sql/${name}-mysql.sql"/>
<property name="database.driver.file"
value="${lib.dir}/mysql-connector-java-3.0.14-production-bin.jar"/>
<property name="database.driver.classpath"
value="${database.driver.file}"/>
<property name="database.driver"
value="com.mysql.jdbc.Driver"/>
<property name="database.url"
value="jdbc:mysql://localhost/demo"/>
<property name="database.userid"
value="caterpillar"/>
<property name="database.password"
value="123456"/>
<property name="database.schema"
value=""/>
<property name="database.catalog"
value=""/>
<property name="jboss.datasource.mapping"
value="mySQL"/>
依照環境來配置
database.driver.file
database.driver.classpath
database.driver
database.url
database.userid
database.password
,預設上MySQL的JDBC驅動程式要放在Middlegen-Hibernate的lib目錄下。
Middlegen-Hibernate使用Ant建構,您可以參考一下 Ant入門。
開啟 Ant 的建構文件,在Middlegen-Hibernate目錄下,修改成為實際的配置:
build.xml
build.xml
<?xml version="1.0"?>
....
<!DOCTYPE project [
<!ENTITY database SYSTEM "file:./config/database/mysql.xml">
]>
<project name="Middlegen Hibernate" default="all" basedir=".">
<!-- project name="Middlegen Hibernate" default="all" basedir="." -->
<property file="${basedir}/build.properties"/>
<property name="name" value="HibernateDemo"/>
....
<property name="build.gen-src.dir"
value="${build.dir}/gen-src"/>
<property name="build.classes.dir"
value="${build.dir}/classes"/>
....
<hibernate
destination="${build.gen-src.dir}"
package="onlyfun.caterpillar"
genXDocletTags="false"
genIntergratedCompositeKeys="false"
javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
/>
</middlegen>
<mkdir dir="${build.classes.dir}"/>
</target>
....
</project>
第一個是設定所使用的資料庫配置文件,請改為mysql.xml,第二個是設定應用程式名,第三個是設定自動產生文件的輸出目錄,第四個是設定您的package名稱,其它目前采預設即可。
修改完成後,進入Middlegen-Hibernate的目錄下,執行Ant建構,如果成功,將會出現以下的視窗:
依需求設定每一個欄位選項,要設定屬性的話,點選上面表格圖示中的屬性:
完成設定之後,按最上方的「Generate」按鈕,即可產生文件,依我的文件設定,可以在Middlegen-Hibernate目錄下的build\gen-src\找到所產生的映射文件,所產生的映射文件如下:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
<hibernate-mapping>
<!--
Created by the Middlegen Hibernate plugin 2.1
http://boss.bekk.no/boss/middlegen/
http://www.hibernate.org/
-->
<class
name="onlyfun.caterpillar.User"
table="user"
>
<id
name="id"
type="java.lang.Integer"
column="id"
>
<generator class="native" />
</id>
<property
name="name"
type="java.lang.String"
column="name"
not-null="true"
length="100"
/>
<property
name="age"
type="java.lang.Integer"
column="age"
length="11"
/>
<!-- Associations -->
</class>
</hibernate-mapping>
7.關於Hibernate2的使用資料:
http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=833