spring 事務(wù)

事務(wù)四大特效ACID:

  • 原子
  • 一致
  • 隔離
  • 持久

數(shù)據(jù)不一致

  • 丟失修改

T1,T2兩個(gè)事務(wù)同時(shí)對(duì)一個(gè)數(shù)據(jù)進(jìn)行修改共屈,T1先修改,T2隨后修改党窜,T2的修改覆蓋了T1修改拗引,T1修改丟失

  • 讀臟數(shù)據(jù)

T1修改數(shù)據(jù)后寫入,T2讀取這個(gè)修改后的數(shù)據(jù)幌衣,T1回滾撤銷了修改寺擂,T2讀的數(shù)據(jù)就是假的無(wú)效數(shù)據(jù)

  • 不可重復(fù)讀

T1讀入數(shù)據(jù),T2對(duì)數(shù)據(jù)進(jìn)行修改泼掠,如果T1再讀這個(gè)數(shù)據(jù)怔软,兩次讀入結(jié)果不同

  • 幻讀

讀入數(shù)據(jù)之間插入了新的數(shù)據(jù),某個(gè)事務(wù)在讀取某個(gè)范圍內(nèi)的記錄時(shí)择镇,另一個(gè)事務(wù)會(huì)在范圍內(nèi)插入數(shù)據(jù)挡逼,當(dāng)之前事務(wù)再次讀取該記錄時(shí),會(huì)產(chǎn)生幻行

隔離級(jí)別

  • 未提交讀 read uncommitted

有臟讀腻豌,可讀取其他事務(wù)未提交的數(shù)據(jù)

  • 提交讀 read committed

只能讀取已提交數(shù)據(jù)家坎,避免臟讀,允許不可重復(fù)讀和幻讀 (sqlServer oracle默認(rèn))

  • 可重復(fù)讀 repeatable read

有幻讀吝梅,同一個(gè)事務(wù)中多次讀取同樣的記錄結(jié)果一致虱疏, 避免臟讀,不可重復(fù)讀苏携,允許幻讀(mysql innoDB默認(rèn))

  • 可串行化 serialixable

強(qiáng)制事務(wù)串行執(zhí)行做瞪,事務(wù)只能一個(gè)一個(gè)執(zhí)行,避免了臟讀右冻、不可重復(fù)讀装蓬、幻讀。執(zhí)行效率慢纱扭,使用時(shí)慎重

Spring事務(wù)

@Transactional(propagation=Propagation.REQUIRED, rollbackFor=Exception.class)
方法上添加標(biāo)簽牍帚,執(zhí)行dao層時(shí)拋出錯(cuò)誤就會(huì)回滾,propagation參數(shù)為方法調(diào)用之間事務(wù)的處理方式乳蛾,rollbackFor為哪些check錯(cuò)誤捕獲回滾暗赶,不添加則只回滾uncheck錯(cuò)誤

  • required

支持當(dāng)前事務(wù)鄙币,如果當(dāng)前沒(méi)有事務(wù),就新建事務(wù)蹂随。默認(rèn)爱榔,

  • required_new

新建事務(wù),如果當(dāng)前存在事務(wù)糙及,就把當(dāng)前事務(wù)掛起详幽。新建的事務(wù)將和被掛機(jī)的事務(wù)沒(méi)有關(guān)系,相互獨(dú)立浸锨,外層事務(wù)失敗回滾唇聘,內(nèi)存事務(wù)不回滾,內(nèi)存事務(wù)拋出異常失敗回滾柱搜,外層事務(wù)捕獲到異常迟郎,也可以不回滾

  • supports

支持當(dāng)前事務(wù),如果當(dāng)前沒(méi)有事務(wù)就以非事務(wù)方式執(zhí)行

  • mandatory 強(qiáng)制

支持當(dāng)前事務(wù)聪蘸,如果當(dāng)前沒(méi)有事務(wù)宪肖,就拋出異常

  • not_supported

以非事務(wù)方式執(zhí)行,如果當(dāng)前存在事務(wù)健爬,就把當(dāng)前事務(wù)掛起

  • never

以非事務(wù)方式執(zhí)行控乾,如果當(dāng)前存在事務(wù),則拋出異常

  • nested

如果一個(gè)活動(dòng)的事務(wù)存在娜遵,則運(yùn)行在一個(gè)嵌套的事務(wù)中蜕衡。如果沒(méi)有活動(dòng)事務(wù),則按REQUIRED屬性執(zhí)行设拟。它使用了一個(gè)單獨(dú)的事務(wù)慨仿,這個(gè)事務(wù)擁有多個(gè)可以回滾的保存點(diǎn)。內(nèi)部事務(wù)的回滾不會(huì)對(duì)外部事務(wù)造成影響纳胧。它只對(duì)DataSourceTransactionManager事務(wù)管理器起效镰吆。(意思就是可以同時(shí)滿足required特性和required_new特性)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市跑慕,隨后出現(xiàn)的幾起案子万皿,更是在濱河造成了極大的恐慌,老刑警劉巖相赁,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件相寇,死亡現(xiàn)場(chǎng)離奇詭異慰于,居然都是意外死亡钮科,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門婆赠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)绵脯,“玉大人佳励,你說(shuō)我怎么就攤上這事∏欤” “怎么了赃承?”我有些...
    開(kāi)封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)悴侵。 經(jīng)常有香客問(wèn)我瞧剖,道長(zhǎng),這世上最難降的妖魔是什么可免? 我笑而不...
    開(kāi)封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任抓于,我火速辦了婚禮,結(jié)果婚禮上浇借,老公的妹妹穿的比我還像新娘捉撮。我一直安慰自己,他們只是感情好妇垢,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布巾遭。 她就那樣靜靜地躺著,像睡著了一般闯估。 火紅的嫁衣襯著肌膚如雪灼舍。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天涨薪,我揣著相機(jī)與錄音片仿,去河邊找鬼。 笑死尤辱,一個(gè)胖子當(dāng)著我的面吹牛砂豌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播光督,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼阳距,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了结借?” 一聲冷哼從身側(cè)響起筐摘,我...
    開(kāi)封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎船老,沒(méi)想到半個(gè)月后咖熟,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡柳畔,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年馍管,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片薪韩。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡确沸,死狀恐怖捌锭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情罗捎,我是刑警寧澤观谦,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站桨菜,受9級(jí)特大地震影響豁状,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜倒得,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一替蔬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧屎暇,春花似錦承桥、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至挤巡,卻和暖如春剩彬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背矿卑。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工喉恋, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人母廷。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓轻黑,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親琴昆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子氓鄙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 很多人喜歡這篇文章,特此同步過(guò)來(lái) 由淺入深談?wù)搒pring事務(wù) 前言 這篇其實(shí)也要?dú)w納到《常識(shí)》系列中业舍,但這重點(diǎn)又...
    碼農(nóng)戲碼閱讀 4,706評(píng)論 2 59
  • 1. 事務(wù)基礎(chǔ) 1.1 什么是事務(wù) 所謂事務(wù)就是用戶定義的一個(gè)數(shù)據(jù)庫(kù)操作序列抖拦,這些操作要么全做,要么全不做舷暮,是一個(gè)...
    執(zhí)筆弄風(fēng)月閱讀 503評(píng)論 0 0
  • 1.事務(wù)理解 事務(wù)是一系列的動(dòng)作态罪,它們綜合在一起才是一個(gè)完整的工作單元,這些動(dòng)作必須全部完成下面,如果有一個(gè)失敗的話复颈,...
    Aimerwhy閱讀 326評(píng)論 0 0
  • 事務(wù),是為了保障邏輯處理的原子性诸狭、一致性券膀、隔離性君纫、永久性驯遇。 通過(guò)事務(wù)控制芹彬,可以避免因?yàn)檫壿嬏幚硎《鴮?dǎo)致產(chǎn)生臟數(shù)據(jù)...
    uzip柚子皮閱讀 4,599評(píng)論 3 16
  • 選擇了很多軟件,最終還是在簡(jiǎn)書上發(fā)布了第一篇叉庐。最早是打算在頭條的舒帮,后來(lái)想想門檻太高,還需要很多繁瑣的步驟陡叠,不像簡(jiǎn)書...
    青衫衣薄閱讀 204評(píng)論 0 0