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

下載本文檔

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

文檔簡(jiǎn)介

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

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、 配置會(huì)會(huì)話工廠廠(依賴賴注入上上面的數(shù)數(shù)據(jù)源,還要注注入hbbm映射射文件注意正正確的位位置、hibbernnatee屬性文文件)3、 配

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

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

6、我們需要要使用代代理事務(wù)務(wù)管理器器BeaanNaameAAutooProoxyCCreaatorr(根據(jù)據(jù)beaannaame自自動(dòng)代理理),上上面的配配置文件件需要做做改動(dòng),做兩件件事(當(dāng)當(dāng)然先要要?jiǎng)h除原原來(lái)配置置的TrranssacttionnProoxyFFacttoryyBeaan,不不然就混混亂了,可能會(huì)會(huì)報(bào)錯(cuò)的的):1、 增加一一個(gè)事務(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、 定義自自動(dòng)代理理事務(wù)管管理器!

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

9、ee的屬性性詳解:Hibeernaate 會(huì)話廠廠 SeessiionFFacttoryySesssionn 就是是用于每每次與數(shù)數(shù)據(jù)庫(kù)會(huì)會(huì)話的,因此需需要:數(shù)據(jù)庫(kù)的的配置參參數(shù),這這些參數(shù)數(shù)就是 上面的的數(shù)據(jù)源源指定的的! 因因此我們們只需引引用即可可: rref=daataSSourrce;實(shí)體映射射配置 hibbernnatee.cffg.xxml 配置結(jié)果緩存存配置(這里使使用的是是開(kāi)源的的 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只會(huì)會(huì)緩存使使用looad()方法法獲得的的單個(gè)持持久化對(duì)對(duì)象,如如果想緩緩存使用用finndalll()、 llistt()、Iterratoor()、crreatteCrriteeriaa()、creeateeQueery()等方方法獲得得的數(shù)據(jù)據(jù)結(jié)果集集的話,就需要要設(shè)置hibe

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

14、GAATIOON_SSUPPPORTTS:支支持當(dāng)前前事務(wù),如果當(dāng)當(dāng)前沒(méi)有有事務(wù),就以非非事務(wù)方方式執(zhí)行行。PROPPAGAATIOON_MMANDDATOORY:支持當(dāng)當(dāng)前事務(wù)務(wù),如果果當(dāng)前沒(méi)沒(méi)有事務(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)前沒(méi)沒(méi)有事務(wù)務(wù),則進(jìn)進(jìn)行與PPROPPAGAA

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論