使用Session進(jìn)行CRUD操作.ppt_第1頁
使用Session進(jìn)行CRUD操作.ppt_第2頁
使用Session進(jìn)行CRUD操作.ppt_第3頁
使用Session進(jìn)行CRUD操作.ppt_第4頁
使用Session進(jìn)行CRUD操作.ppt_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

使用Session進(jìn)行CRUD,使用Hibernate的步驟,執(zhí)行過程,Configuration,SessionFactory,Session,Transaction,創(chuàng)建,創(chuàng)建,開始,mit()session.close(),執(zhí)行,Hibernate.cfg.xml,結(jié)束,創(chuàng)建和銷毀都相當(dāng)耗費(fèi)資源,通常一個(gè)系統(tǒng)內(nèi)一個(gè)數(shù)據(jù)庫只創(chuàng)建一個(gè),類似于JDBC中的Connection,添刪改等持久化操作,Configuration,Configuration類的主要作用就是從配置文件hibernate.cfg.xml讀取配置信息,如數(shù)據(jù)庫的信息、定位映射文件的位置()用法:Configurationcg=newConfiguration().config();,SessionFactory,SessionFactory的設(shè)計(jì)使用了工廠模式,用戶程序可以從工程類SessionFactory中取得Session的實(shí)例。設(shè)計(jì)者的意圖是讓它能在整個(gè)應(yīng)用中共享。典型的說,一個(gè)項(xiàng)目通常訪問一個(gè)數(shù)據(jù)庫,只需要一個(gè)SessionFactory。用法,通過Configuration實(shí)例構(gòu)建SessionFactory:SessionFactorysf=cg.buildSessionFactory();SessionFactory的創(chuàng)建和銷毀都較耗費(fèi)系統(tǒng)資源,Session,Session是持久層操作的基礎(chǔ),相當(dāng)于JDBC中的Connection。使用Session對象可以進(jìn)行數(shù)據(jù)的CRUD操作。Session對象由工廠類SessionFactory創(chuàng)建:Sessionsession=sf.openSession();Session可以看作是持久化對象的緩沖區(qū),Hibernate能檢測到Session對象中的持久化對象的改變,并刷新到數(shù)據(jù)庫。,代碼優(yōu)化,編寫HibernateUtil類,將一些初始化工作(讀配置信息、創(chuàng)建SessionFactory、獲取Session等)包裝起來,在做持久化操作前調(diào)用工具類的獲取Session對象方法即可。注意處理異常。在finally塊中關(guān)閉Session。,使用Session進(jìn)行CRUD操作,添加(保存)數(shù)據(jù):Session的save(object)方法。該方法可以將對象的屬性放到PreparedStatement中,然后執(zhí)行insert語句。簡單查詢:Session的get()或load()方法,根據(jù)給定的OID從數(shù)據(jù)庫中加載一個(gè)持久化對象。,刪除數(shù)據(jù):Session的delete(object)方法。該方法可以從數(shù)據(jù)庫中刪除一個(gè)對象對應(yīng)的數(shù)據(jù)。修改數(shù)據(jù):Session的update(object)方法。當(dāng)對一個(gè)對象執(zhí)行update()操作時(shí),如果數(shù)據(jù)庫中不存在這個(gè)對象對應(yīng)的記錄,則將拋出異常。在控制臺顯示執(zhí)行的SQL語句:true,對象的狀態(tài),瞬時(shí)狀態(tài):數(shù)據(jù)庫中無記錄,與session也無關(guān),比如剛new出來。持久狀態(tài):數(shù)據(jù)庫中有對應(yīng)記錄,與session相關(guān)。此狀態(tài)下,對象的變化Hibernate可以檢測到。比如:在save()之后更新了user的屬性,然后才commit(),save()之后所做的修改也能更新到數(shù)據(jù)庫中。脫管狀態(tài):數(shù)據(jù)庫中有對應(yīng)記錄,但與session無關(guān)。比如session已關(guān)閉,此時(shí)user的改變不會(huì)影響到數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論