Hibernate學(xué)習(xí)與基本操作
了解了Hibernate后我們下面進(jìn)行具體類的理解以及操作:再形象話的解釋下Hibernate這個單詞,英文中譯為“冬眠”在技術(shù)中我們可以理解為把內(nèi)存中的對象讓其在關(guān)系數(shù)據(jù)庫中“冬眠”.是怎么叫它在數(shù)據(jù)庫中“冬眠”的呢? 需要理解ORM的意思?!岸摺钡男Ч褪菍ο蟪志没?。
好了,下面我們來進(jìn)行了解第一個類:Configuration類。首先創(chuàng)建一個實(shí)例Configuration config = new Configuration();這句話用來讀取Hibernate.properties,上節(jié)課我們沒有對Hibernate.properties進(jìn)行配置,直接通過對Hibernate.cfg.xml配置。
第二步就要通過 config.add(Info.class)方法來加載 Info.hbm.xml中的信息,以把映射關(guān)系讀到內(nèi)存。
第三步, SessionFactory sessionFactory = config.buildSessionFactory() ;這是初始化的最終目的:創(chuàng)建一個sessionFactory, 這個對象是重量級的,通常定義為publicstatic 類型 ,是個全局變量。一個sessionFactory 對應(yīng)一個數(shù)據(jù)庫存儲源,因該從 sessionFactory中獲取 session.
如圖:
![]() |
下面引入 Session 接口(不是類,與jsp中session不同) :Session 是輕量級的 ,意味著它是線程不安全的。所以我們使用時創(chuàng)建用完是接著銷毀,添加,插入,刪除等操作都通過它完成。
我們就來了解下它的具體方法:
save() 存儲到數(shù)據(jù)庫
update() 更新數(shù)據(jù)庫對象
delete() 刪除數(shù)據(jù)庫對象
load() 加載數(shù)據(jù)庫中的對象
find() 3.0后有更好的方法
被Query接口替代 。
上面的內(nèi)容可以實(shí)現(xiàn)數(shù)據(jù)庫的操作過程,但是我們還必須加上事物處理,對事物進(jìn)行提交,通過Transaction
開始事務(wù): Transaction tran = new Transaction() ;
提交事務(wù) tran.commit();
在兩著之間加上數(shù)據(jù)庫操作的內(nèi)容就可以實(shí)現(xiàn)數(shù)據(jù)庫的操作了,不信大開數(shù)據(jù)庫看看吧!
如圖:
![]() |
【編輯推薦】