Hibernate常用API以及使用說明

必須往前走發表於2017-11-22

1===>Hibernate常用的aip有Configuration,SessionFactory,Transaction,Session

Configuration主要用於載入配置檔案,使用

Configuration conf=new Configuration().configure(“hibernate.cfg.xml”)

來獲取一個Configuration物件的例項,載入配置檔案在應用啟動時便應該對其進行初始化,而且整個應用的生命週期,僅需載入一次

2===>使用Configuration類的buildSessionFactory()方法可以用來獲取一個Sessionfactory()物件,在整個應用中,作為Session的工廠僅存在一份就就可以

SessionFactory sf=conf.buildSessionFactory()

3===>SessionFactory用於建立會話,

Session session = sf.currentSession();

SessionFactory介面中提供有openSession()和getCurrentSession()兩個方法用於獲取與資料庫互動的會話,

使用openSession()方法獲取到的session,hibernate不會對其進行管理,用完後必須手動進行關閉,而且在多執行緒中不安全,不推薦使用

使用getCurrentSession()方法獲取到的session,hibernate會對其進行管理,需要我們在配置檔案中進行如下配置

 <property name=”current_session_context_class”>thread</property>

使得到的session例項與執行緒進行繫結,在事務結束後,會自動關閉,不需要我們進行手動關閉,而且比較安全,不會重複產生session

session用於與資料庫進行互動應該用於就丟,

 

4===>

使用Transaction tx=session.beginTransaction();來獲取對事務Transaction介面的物件,用於對事務的管理

Session

物件的儲存

Session中提供有資料庫的增刪改查方法

session.save()方法用於對資料的儲存

按主鍵進行查詢

Session中提供有兩種方法

session.get(Class clazz,Serializable id) 根據引數中的id去查詢資料庫,如果沒有結果返回null

session.load(Class clazz,Serializable id)根據引數中的id去查詢資料庫,如果沒有結果會報出異常org.hibernate.ObjectNotFoundException

物件的更新

 


相關文章