S詳細(xì)講解SH中Spring事務(wù)流程_第1頁
S詳細(xì)講解SH中Spring事務(wù)流程_第2頁
S詳細(xì)講解SH中Spring事務(wù)流程_第3頁
S詳細(xì)講解SH中Spring事務(wù)流程_第4頁
S詳細(xì)講解SH中Spring事務(wù)流程_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、給你詳細(xì)講一下SSH框架的事物管理,希望對你有幫助。Struts+hibernate+spring整合開發(fā)web應(yīng)用是相當(dāng)流行的,只需要簡單的配置就能輕松的對數(shù)據(jù)庫進(jìn)行crud操作,下面就hibernatespring的配置做一下剖析,一邊與大家一起分享經(jīng)驗:1、 準(zhǔn)備工作:可以利用用hibbernnatee tooolss生成相相關(guān)映射射文件已已經(jīng)poo對象、daoo對象,daoo也可以以自己手手動編寫寫,無非非就是實實現(xiàn)crrud,如果通通過繼承承hibbernnatee提供的的HibbernnateeDaooSuppporrt,則則可以更更輕松的的實現(xiàn)關(guān)鍵就在在于配置置文件,下面看看一個

2、樣樣例appp.xxml: ccom/ouyya/UUserr.hbbm.xxml orrg.hhibeernaate.diaalecct.MMySQQLDiialeect ttruee truue PROOPAGGATIION_REQQUIRRED PROOPAGGATIION_REQQUIRRED PROOPAGGATIION_REQQUIRRED PROOPAGGATIION_REQQUIRRED PROOPAGGATIION_REQQUIRRED PRROPAAGATTIONN_REEQUIIREDD,reeadOOnlyy PROOPAGGATIION_REQQUIRRED,reaa

3、dOnnly PROOPAGGATIION_REQQUIRRED,reaadOnnly PPROPPAGAATIOON_RREQUUIREED,rreaddOnlly PRROPAAGATTIONN_REEQUIIREDD,reeadOOnlyy PPROPPAGAATIOON_RREQUUIREED,rreaddOnlly PROOPAGGATIION_REQQUIRRED,reaadOnnly !- 可以看到到配置文文件的步步驟:1、 配置數(shù)數(shù)據(jù)源2、 配置會會話工廠廠(依賴賴注入上上面的數(shù)數(shù)據(jù)源,還要注注入hbbm映射射文件注意正正確的位位置、hibbernnatee屬性文文件)3、 配

4、置事事務(wù)管理理器(依依賴注入入上面的的會話工工廠)4、 Sprringg中聲明明事務(wù)管管理器(根據(jù)需需要又可可分為幾幾種,但但都要依依賴注入入上面的的事務(wù)管管理器,此外還還需要配配置trranssatiionAAttrribuutess)后面的一一些普通通的beean配配置就不不用說了了上面的例例子中使使用的聲聲明事務(wù)務(wù)管理器器是:TTrannsacctioonPrroxyyFacctorryBeean,這樣的的話我們們就需要要在后面面配置目目標(biāo)beean,比如上上面的例例子中我我們的原原服務(wù)對對象是iid為uus的UUserrSerrvicce(沒沒有實現(xiàn)現(xiàn)接口),所以以我們?yōu)闉樗渲弥昧薸

5、dd為usserSServvicee的代理理對象(目標(biāo)bbeann),程程序中使使用時只只能通過過使用代代理對象象才能實實現(xiàn)數(shù)據(jù)據(jù)庫操作作功能(代理對對象的父父類是上上面聲明明的事務(wù)務(wù)管理器器,一邊邊我們使使用的時時候開啟啟事務(wù)),如果果直接使使用服務(wù)務(wù)對象就就無法開開啟事務(wù)務(wù)程序中調(diào)調(diào)用:UUserrSerrvicce uus = (UUserrSerrvicce) appp.geetBeean(usserSServvicee);注:usserSServvicee就是上上面配置置的代理理對象的的id,而不是是原服務(wù)務(wù)對象的的id但是如果果我們想想通過原原服務(wù)對對象的iid來使使用對象象,則我

6、我們需要要使用代代理事務(wù)務(wù)管理器器BeaanNaameAAutooProoxyCCreaatorr(根據(jù)據(jù)beaannaame自自動代理理),上上面的配配置文件件需要做做改動,做兩件件事(當(dāng)當(dāng)然先要要刪除原原來配置置的TrranssacttionnProoxyFFacttoryyBeaan,不不然就混混亂了,可能會會報錯的的):1、 增加一一個事務(wù)務(wù)攔截器器 PROOPAGGATIION_REQQUIRRED PROOPAGGATIION_REQQUIRRED PROOPAGGATIION_REQQUIRRED PROOPAGGATIION_REQQUIRRED PROOPAGGATIION_

7、REQQUIRRED PRROPAAGATTIONN_REEQUIIREDD,reeadOOnlyy PROOPAGGATIION_REQQUIRRED,reaadOnnly PROOPAGGATIION_REQQUIRRED,reaadOnnly PPROPPAGAATIOON_RREQUUIREED,rreaddOnlly PRROPAAGATTIONN_REEQUIIREDD,reeadOOnlyy PPROPPAGAATIOON_RREQUUIREED,rreaddOnlly PROOPAGGATIION_REQQUIRRED,reaadOnnly 2、 定義自自動代理理事務(wù)管管理器!

8、- uss trranssacttionnIntterccepttor 然后我們們在程序序中調(diào)用用時應(yīng)如如下:UserrSerrvicce uus = (UUserrSerrvicce) appp.geetBeean(uss);注:注意意與上面面使用TTrannsacctioonPrroxyyFacctorryBeean時時的調(diào)用用區(qū)別,此處我我們用ggetbbeann時直接接取原服服務(wù)層對對象的iid,不不需要去去配置目目標(biāo)beea,這這也正是是BeannNammeAuutoPProxxyCrreattor(根據(jù)bbeann名稱自自動代理理)的含含義所在在附錄:1、關(guān)于于hibbernnat

9、ee的屬性性詳解:Hibeernaate 會話廠廠 SeessiionFFacttoryySesssionn 就是是用于每每次與數(shù)數(shù)據(jù)庫會會話的,因此需需要:數(shù)據(jù)庫的的配置參參數(shù),這這些參數(shù)數(shù)就是 上面的的數(shù)據(jù)源源指定的的! 因因此我們們只需引引用即可可: rref=daataSSourrce;實體映射射配置 hibbernnatee.cffg.xxml 配置結(jié)果緩存存配置(這里使使用的是是開源的的 ehhcacche)orgg/spprinngfrrameeworrk/ssamppless/jppetsstorre/ddomaain/Acccounnt.hhbm.xmllorgg/sppri

10、nngfrrameeworrk/ssamppless/jppetsstorre/ddomaain/Bannnerr.hbbm.xxmlorgg/spprinngfrrameeworrk/ssamppless/jppetsstorre/ddomaain/Cattegoory.hbmm.xmmlorgg/spprinngfrrameeworrk/ssamppless/jppetsstorre/ddomaain/Invventtoryy.hbbm.xxmlorgg/spprinngfrrameeworrk/ssamppless/jppetsstorre/ddomaain/Iteem.hhbm.xml

11、lorgg/spprinngfrrameeworrk/ssamppless/jppetsstorre/ddomaain/LinneIttem.hbmm.xmmlorgg/spprinngfrrameeworrk/ssamppless/jppetsstorre/ddomaain/Ordder.hbmm.xmmlorgg/spprinngfrrameeworrk/ssamppless/jppetsstorre/ddomaain/Prooducct.hhbm.xmllorgg/spprinngfrrameeworrk/ssamppless/jppetsstorre/ddomaain/Suppplii

12、er.hbmm.xmml$hiiberrnatte.ddiallectttruuettrueettruee21000500uppdatteuppdatte!-結(jié)果緩緩存配置置:- 將ehhcacche.xmll 置于于 cllassspatth 中中- 如如果不設(shè)設(shè)置“查查詢緩存存”,那么hiiberrnatte只會會緩存使使用looad()方法法獲得的的單個持持久化對對象,如如果想緩緩存使用用finndalll()、 llistt()、Iterratoor()、crreatteCrriteeriaa()、creeateeQueery()等方方法獲得得的數(shù)據(jù)據(jù)結(jié)果集集的話,就需要要設(shè)置hibe

13、ernaate.cacche.usee_quueryy_caachee trrue 才行- 在HHbm文文件中添添加-如果需要要“查詢詢緩存”,還需需要在使使用Quueryy或Crriteeriaa()時時設(shè)置其其settCaccheaablee(trrue);屬性性-trrueorgg.hiiberrnatte.ccachhe.EEhCaacheeProovidder2、Spprinng的ttrannsacctioonAtttriibuttesPROPPAGAATIOON_RREQUUIREED:支支持當(dāng)前前事務(wù),如果當(dāng)當(dāng)前沒有有事務(wù),就新建建一個事事務(wù)。這這是最常常見的選選擇。PROPPA

14、GAATIOON_SSUPPPORTTS:支支持當(dāng)前前事務(wù),如果當(dāng)當(dāng)前沒有有事務(wù),就以非非事務(wù)方方式執(zhí)行行。PROPPAGAATIOON_MMANDDATOORY:支持當(dāng)當(dāng)前事務(wù)務(wù),如果果當(dāng)前沒沒有事務(wù)務(wù),就拋拋出異常常。PROPPAGAATIOON_RREQUUIREES_NNEW:新建事事務(wù),如如果當(dāng)前前存在事事務(wù),把把當(dāng)前事事務(wù)掛起起。PROPPAGAATIOON_NNOT_SUPPPORRTEDD:以非非事務(wù)方方式執(zhí)行行操作,如果當(dāng)當(dāng)前存在在事務(wù),就把當(dāng)當(dāng)前事務(wù)務(wù)掛起。PROPPAGAATIOON_NNEVEER:以以非事務(wù)務(wù)方式執(zhí)執(zhí)行,如如果當(dāng)前前存在事事務(wù),則則拋出異異常。PROPPAGAATIOON_NNESTTED:如果當(dāng)當(dāng)前存在在事務(wù),則在嵌嵌套事務(wù)務(wù)內(nèi)執(zhí)行行。如果果當(dāng)前沒沒有事務(wù)務(wù),則進(jìn)進(jìn)行與PPROPPAGAA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論