程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> hibernate3學習筆記(二十三)|進階特性(三)

hibernate3學習筆記(二十三)|進階特性(三)

編輯:關於JAVA

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved