Hibernate是一個非常優秀的持久層架構,使用Hibernate技術可以提高80%以上的工作效率,現在Hibernate已經被國內大部分的IT企業所認可,並已經應用於自己的產品當中。
開次開發是使用Mysql資料庫,資料庫版本無所謂,喜歡用那個就用那個,現在用的是Mysql 5.0版本。
第一步,資料庫建立:
個人比較喜歡使用命令列,或使用Mysql-Front用戶端,不過,Mysql-Front已經被封殺了一段時間,最近又活起來了,只不過,名字改了而已。
進入Mysql安裝目錄的bin子目錄,在命令列打入
mysql –u root –p
輸入密碼後,便登入了資料庫,用以下命令建立資料庫
create database hibernate
進入建立的資料庫
use hibernate
建立表
程式碼
(
ID int not null auto_increment,
NAME varchar(20) not null,
LOGINID varchar(20) not null,
PASSWORD varchar(32) not null,
AGE int not null,
BIRTHDAY DATE not null,
primary key (ID)
);
第二步,建立一個Java工程,工程名取為HibernateTraining
點擊Next >,在新的對話方塊當中,建立一個新的Source Folder,取名為src,最後點擊Finish
第三步,設定資料庫
點擊Window --> show view --> other,在彈出的對話方塊當中,選擇MyEclipse Enterprise WorkBench分支下的DB Browser,如所示:
最後,點擊OK,在工作空間上將會出現一個DB Browser的配置頁面,在配置頁面空白處,右鍵,選擇New按鈕
在彈出的對話方塊當中設定資料庫串連
在配置頁面上,選擇資料庫類型,輸入資料庫配置名稱,輸入資料庫使用者名稱密碼,匯入Mysql JDBC Driver即可。
接著,點擊Finish按鈕,完成了資料庫的配置。
最後,使用DB Browser串連到資料庫,如所示:
第四步,初始化Hibernate開發環境
在工程上右鍵盤,選擇MyEclipse-->Add Hibernate Capabilities
將彈出Hibernate的配置視窗,如所示:
點擊Next>按鈕,建立一個新的Hibernate設定檔,如所示:
點擊Next>,設定資料庫的資訊,在DB Driver當中選擇剛剛定義的資料庫連接配置,MyEclipse將自動填滿相應的配置資訊值,包括JDBCDriver,URL,UserName,Password及Dialect,如所示:
點擊Next>按鈕,在新的對話方塊當中點擊Java package所在行的New按鈕,該功能是定義HibernateSessionFactory所在的路徑。如所示:
在彈出的New Java Package對話方塊當中,在Name項輸入zizz.hibernate.common,或者你自己喜歡的包名,之後點擊Finish按鈕,如所示:
最後,點擊Finish按鈕,如所示:
新的工程目錄結構如所示:
我們可以看到,系統自動給我們產生了HibernateSessionFactory.java及Hibernate.cfg.xml設定檔,並將Hibernate環境所需要的外部包檔案也加入到CLASSPATH當中。
第五步,通過反向工程,產生POJO及hbm對應檔:
在DB Browser配置介面,入進hibernate資料庫,如所示:
點擊t_user,在鍵,選擇Hibernate Reverse Engineering,如所示:
將彈出如下的對話方塊,在Java package當中輸入產生的hibernate映射的JavaBean為zizz.hibernate.model,詳細請參考
點擊Next>按鈕,在新的對話方塊當中,在ID Generator的選項當中選擇increment,表示ID為資料庫自增長類型。
點擊Next>,可以修改類名或列名。
最後,點擊Finish按鈕。新的目錄結構如所示:
第六步,編寫測試例子
程式碼
.hibernate.test;
import java.util.Iterator;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import zizz.hibernate.common.HibernateSessionFactory;
import zizz.hibernate.model.TUser;
/**
*
* @author ZIZZ
*
*/
public class UserService {
/**
* 列出所有使用者
* @return
*/
public List ListAllUser(){
//得到一個新的Hibernate Session
Session session = HibernateSessionFactory.getSession();
//建立一個查詢對象
Query query = session.createQuery("from TUser");
//得到查詢結果
List result = query.list();
//關閉Session
session.close();
return result;
}
public static void main(String[] args){
UserService service = new UserService();
List users = service.ListAllUser();
Iterator iter = users.iterator();
while(iter.hasNext()){
TUser user = (TUser)iter.next();
System.out.println(user.getName());
}
}
}
著作權,歡迎轉載,轉載請標明轉自http://www.suneca.com