Hibernate的常用API詳解
阿新 • • 發佈:2018-12-09
Hibernate的常用API詳解
一、Configuration配置物件
Configuration:載入配置檔案
1.1 呼叫configure()方法,載入src下的hibernate.cfg.xml檔案
Configuration conf = new Configuration().configure();
1.2 如果配置檔案不符合預設的載入規則,我們可以用:
new Configuration().configure(file); //通過file載入
new Configuration().configure(path); //通過路徑載入
1.3 通過Configuration物件載入對映檔案(不推薦,一般都將*hbm.xml對映檔案配置到hibernate.cfg.xml中)
conf.addClass(User.class);
規範:1、orm對映檔名稱應與實體的簡單類名一致;
2、orm對映檔案需要與實體的類在同一包下。
二、SessionFactory工廠
SessionFactory:用於管理所有的session
根據Configuration配置資訊建立SessionFactory
SessionFactory sf = conf.buildSessionFactory();
SessionFactory是執行緒安全的,可以是成員變數,多個執行緒同時訪問時,不會出現執行緒併發的問題。
三、Session會話
Session:通過操作PO物件實現增刪改查
session的api:
方法 | 功能 |
---|---|
save | 儲存 |
update | 更新 |
delete | 刪除 |
get | 通過id查詢,如果沒有,顯示 “null” |
load | 通過id查詢,如果沒有,拋異常 |
createQuery(“hql”) | 獲得Query物件 |
createCriteria(Class) | 獲得Criteria物件 |
session是單執行緒,執行緒不安全,不能編寫成員變數。
四、Transaction事務
開啟事務:
Transaction ts = session.beginTransaction();
獲得事務(已經開啟的事務物件):
session.getTransaction();
提交事務:
commit();
回滾事務:
rollback();
五、Query物件
Qyuery:主要用於Hibernate執行hql語句。
hql語句:hibernate提供的面向物件的查詢語句,使用物件(類)和屬性進行查詢,區分大小寫。
獲得Query物件:Query query = session.createQuery(“hql”)
方法:
list():查詢所有 List list = query.list();
uniqueResult():獲得一個結果
setFirstResult(int):分頁,開始索引數startIndex
setMaxResult(int):分頁,每頁顯示的個數pageSize