hibernate操作數據庫的執行步驟
先舉個hibernate執行SQL的例子:[java] view plaincopy
public boolean addUser(UserDO userDO) {
boolean b = false;
if (userDO != null) {
try {
getHibernateTemplate().save(userDO);
b = true;
} catch (Exception e) {
b = false;
}
} else {
b = false;
}
return b;
}
一、hibernate操作數據庫的執行步驟,其實很簡單,可以自己實現一個小的hibernate框架:
1、運用java反射機制,獲得user對象的類型user.class
2、參考對象-關系映射元數據(可能是DO的spring注解,可能是hibernate配置文檔),找到和user類對應的表為user表,并建立對象域跟表屬性的對應
3、根據以上映射信息,生成SQL語句
4、通過JDBC API來執行SQL語句
二、hibernate的核心接口:
1、Configuration接口:配置hibernate,根啟動hibernate,創建sessionfactory對象。hibernate通過configuration實例來獲得對象-關系映射文件中的元數據,以及動態的配置hibernate屬性,然后創建sessionfactory實例。具體執行過程如下:
[java] view plaincopy
Configuration config=new Configuration();
創建configuration實例,configuration類的構造方法中把applicationContext.xml文檔加載到內存,tb讀取文檔中sessionFactory Bean的配置。然后運用java反射機制,獲得userDO對象的類型UserDO。configuration類的addClass方法
[java] view plaincopy
config.addClass(userDO.class);
該方法將hbm.xml文檔或者通過hibernate注解形式的“對象-關系映射元數據”讀入內存,找到和UserDO類對應的表為USER表,并建立對象域跟表屬性的對應。
2、sessionfactory接口:初始化hibernate,充當數據存儲源的代理,創建session對象。一個sessionfactory實例對應著一個數據存儲源。重量級,一個數據庫只創建一個sessionfactory實例,它需要一個很大的緩存,用來存放預定義的SQL語句及映射的元數據等。
3、session接口:負責保存、更新、刪除、加載和查詢對象。session對象不是線程安全的,因此應該避免過多個線程共享一個session實例。當session執行sql時候,session會針對上面生成的對象和關系映射,動態組成sql語句。
4、transaction:事務管理接口。它對底層的事務接口做了封裝。
5、query:執行數據庫查詢。query實例封裝了一個HQL語句,HQL語句是面向對象的,它引用類名和類的屬性。
三、hibernate的使用步驟:
1、創建hibernate配置文件
2、創建持久化類
3、創建對象-關系映射文件
4、通過hibernate API編寫數據庫訪問代碼
posted on 2013-06-28 17:01 chen11-1 閱讀(1047) 評論(0) 編輯 收藏 所屬分類: hibernate