我們所要建的應用非常簡單,只是利用hibernate3.0對一張表進行操作。
軟件環境:
1.Eclipse3.1.2;
2.MyEclipse4.1.0;
3.MySql Server 5.0 ;
4.MySql Java Connector J 5.0.4;
5.hibernate3.0 Core Libraries;
6.hibernate3.0 Advanced Libraries;
參考書籍及文檔:
<<深入淺出Hibernate>>夏昕,唐勇,曹曉剛
MyEclipse Help Content
整個應用的創建依以下步驟完成:
(1)新建一個名爲hibernatetest的mysql schema;
(2)創建一張名爲User的表格,其語句如下:
CREATE TABLE `hibernatetest`.`User` ( |
(3)打開MyEclipse的DB Browser視圖,在右擊選項菜單(Context Menu)上選擇New……,彈出Database
Profile對話框,用於新建一個Profile,填入以下信息:
<3.1>Profile Name: localhost_mysql_profile;
<3.2>Driver: 打開Configure database driver鏈接,配置jdbc驅動,我們只需加入MySql
Connector J的JDBC驅動即可;
<3.3>URL: jdbc: mysql://127.0.0.1:3306/hibernatetest;
<3.4>User Name: 用戶名;
<3.5>Password: 密碼;
創建完profile後,嘗試一下連接至數據庫,成功即可;
(4)在Eclipse中新建一個名爲HibernateSample的Java項目;
<4.1>創建一個名爲config的目錄,用於放置hibernate.cfg.xml;
<4.2>創建一個名爲mappings的目錄,用於放置映射文件;
(5)在HibernateSample項目的右擊選項菜單中,選擇MyEclipse->Add Hibernate Capabilities……這
樣會彈出一個Hibernate Support for MyEclipse的對話框:
<5.1>第一步是選擇要添加到工程的包,我們把Hibernate3.0的Core及Advanced包都勾上;
<5.2>第二步是否創建hibernate.cfg.xml,我們把configuration folder設定爲src/config;
<5.3>第三步是指定數據庫連接細節(specify database connection details),我們只需名爲
localhost_mysql_profile即可,因爲我們之前已經進行了設置;
<5.4>第四步問你是否創建SessionFactory,這個SessionFactory其實是Hibernate提供的一個用於
管理Session的類,它可以確保在每個獨立的線程中Session是唯一的,我們創建名爲
cn.com.test.hibernatesample.factory.HibernateSessionFactory的類;
通過上述的四步,現在的工程裏面已經擁有了hibernate所需的包及配置文件。
(6)在src目錄下創建一個名爲log4j.properties的文件,內容如下:
### direct log messages to stdout ### |
因爲hibernate是通過log4j進行日誌管理的,所以加上這個會比較好,不加會在運行時出錯。
(7)創建cn.com.test.hibernatesample.model.User類,篇幅所限,大致如下
package cn.com.test.hibernatesample.model; |
(8)在工程的mappings(在第4步創建的目錄)目錄下創建一個名爲User.hbm.xml,內容如下:
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
(9)在HibernateSample項目的右擊選項菜單中,選擇New -> JUnit Test Case……,彈出新建JUnit
Test Case的對話框:
<9.1>package上輸入:cn.com.test.hibernatesample.test;
<9.2>type上輸入UserTest;
<9.3>在which method stubs whould you like to create中勾上setUp(),tearDown();
整個UserTest類的代碼如下:
package cn.com.test.hibernatesample.test; |
(10)運行剛創建的UserTest測試用例即完成該應用;