1. 程式人生 > >Hibernate 實驗指導手冊

Hibernate 實驗指導手冊

  http://kongtong2004.blog.163.com    1、環境配置 Ø  JDK 6.0( 官方下載地址) Ø  Eclipse 3.2 Ø  MyEclipse 6.0GA( 下載) Ø  資料庫MySQL 5.0 Ø  資料庫客戶端MySQL-Front Ø  MySQL JDBC驅動mysql-connector-java-3.1.13-bin.jar 2、第一個Hibernate示例
構建一個Hibernate專案主要分為以下幾個步驟: Ø 建立資料庫 Ø 建立支援Hibernate的Java project Ø 構建Hibernate基礎程式碼 Ø 日誌器配置 Ø 編寫測試類

2.1   建立資料庫 建立名為“hibernate_db”的資料庫,以及庫表t_user,t_user表中包含一下欄位: 自增主鍵“id” 使用者名稱欄位“name”
生日欄位“birthday” Email欄位“email” 性別欄位“sex” 構建指令碼如下: 在MySQL-Front中重新整理後可以看到建立的資料庫和庫表:
2.2   建立支援Hibernate的Java project 開啟Eclipse,建立Java project: 將MySQL JDBC驅動copy到lib目錄下,然後將其納入專案的構建路徑(build path): 選中HibernateSample project,增加Hibernate支援:  
Next,保留預設值: Next:   Next,取消“Create SessionFactory class”選項:  然後Finish。 在hibernate.cfg.xml的編輯介面中增加hibernate屬性配置: 檢視hibernate配置檔案的原始碼(調整順序並增加註釋):

2.3   構建Hibernate基礎程式碼 Hibernate基礎程式碼包括POJO(Plain Old Java Object)類,也稱為實體類和Hibernate對映檔案。 與t_user表對應的實體類為User: . User類體現的是ORM中的O(Object),即對“使用者”實體物件的封裝,包含了使用者的兩個屬性。t_user是關係型(Ralational)資料庫表,Hibernate使用對映檔案將實體物件(Object)和關係型資料(Ralational)相關聯,在Hibernate中,對映檔案通常以“.hbm.xml”作為字尾。下面建立對映檔案: Next: Next,通常對映檔名稱和實體類名稱相同: Next: Next,保留預設值: Finish。 下面編寫對映檔案內容(注意t_user表中的email和sex欄位並沒有對映,也就是說Hibernate並不處理這兩個欄位):   將對映檔案載入到Hibernate配置檔案hibernate.cfg.xml中:   2.4   日誌器配置 Hibernate採用Apache common logging,並使用Apache log4j作為日誌器的實現元件。為了在開發過程中能夠看到Hibernate框架輸出的資訊,我們在 src目錄下增加log4j的配置檔案,檔名為log4j.properties:

2.5   編寫測試類 使用JUnit建立測試類,首先在包com.witbridge.hibernate中建立測試基類BaseTestCase:     點選右下腳的“Click here”將JUnit jar包新增到構建路徑,然後finish。將BaseTestCase類設為abstract,並加入公共程式碼:   建立Hibernate測試類HibernateTest: 編寫插入資料庫的測試方法testCreate(以test開頭的方法): 執行測試類: 在JUnit檢視中看到綠條(green bar)說明測試成功,如果看到紅條(red bar)說明測試失敗。 在Console檢視中可以看到Hibernate生成的sql語句: 在MySQL-Front中重新整理,檢視是否已經插入記錄:   新增查詢測試方法testRetrieve:   JUnit自動執行所有以test開頭的方法,當一個測試類中的方法很多時,可以選擇地執行某些測試方法,只需要新增一個靜態方法: 執行測試類,檢視Hibernate生成的sql語句。 新增更新的測試方法testUpdate: 執行測試類,檢視Hibernate生成的sql語句,並觀察資料庫中的記錄是否被修改。 增加刪除的測試方法testDelete: 如果所有的測試方法都測試通過(green bar),那麼congratulations,你已經步入了Hibernate殿堂!   引用通告: http://kongtong2004.blog.163.com/blog/static/42999512007112163745746 作    者:玄枵