-
事物的特性
查看全部 -
剛好五個字
查看全部 -
五個字剛好
查看全部 -
沒有
查看全部 -
事務(wù)的傳播行為應(yīng)用場景:業(yè)務(wù)層方法之間的調(diào)用? Service.method1 + service.method2?
查看全部 -
個人總結(jié)下:
臟讀就是讀取了別人事務(wù)還未commit的數(shù)據(jù)。
不可重復(fù)讀:強(qiáng)調(diào)的是同一個事務(wù)對同行數(shù)據(jù)的多次讀取不一致的結(jié)果(途中被其他事務(wù)修改)ps:同樣的條件, 你讀取過的數(shù)據(jù),再次讀取出來發(fā)現(xiàn)值不一樣了
幻讀:按某個條件修改數(shù)據(jù)后,發(fā)現(xiàn)有新增的數(shù)據(jù)(卻沒被修改),應(yīng)該是眼瞎了(實(shí)際上是被其他事務(wù)新增了幾條數(shù)據(jù) 重點(diǎn)是在新增)ps:同樣的條件, 第 1 次和第 2 次讀出來的記錄數(shù)不一樣
事務(wù)隔離級別就是針對以上的三種錯誤的解決方案。
顧名思義:
read uncommited 意為可以讀取其他事務(wù)未提交的數(shù)據(jù)。那問題是分分鐘有。即不鎖定任何行
read committed 意為只可讀取事務(wù)已提交的數(shù)據(jù)??煞乐古K讀,但是不可重讀不能防止(不能防止的原因在于 事務(wù)A中查詢C數(shù)據(jù), 事務(wù)B修改C為C'并且提交, A事務(wù)繼續(xù)讀取C時會發(fā)現(xiàn)C’)同理不能防止幻讀? ? ? ps2:鎖定當(dāng)前行
REPEATABLE_READ? 鎖定所有指定的所有行??煞乐古K讀和不可重復(fù)讀,但是別的事務(wù)依舊可以進(jìn)進(jìn)出出吞吞吐吐些別的東西。
SERIALIZABLE:鎖表,啥都干不了。等事務(wù)完全處理完并提交,其他事務(wù)才可以更新or查詢or新增。
查看全部 -
幻讀?: 是指當(dāng)事務(wù)不是獨(dú)立執(zhí)行時發(fā)生的一種現(xiàn)象,例如第一個事務(wù)對一個表中的數(shù)據(jù)進(jìn)行了修改,這種修改涉及到表中的全部數(shù)據(jù)行。同時,第二個事務(wù)也修改這個表中的數(shù)據(jù),這種修改是向表中插入一行新數(shù)據(jù)。那么,以后就會發(fā)生操作第一個事務(wù)的用戶發(fā)現(xiàn)表中還有沒有修改的數(shù)據(jù)行,就好象發(fā)生了幻覺一樣。
?? e.g.?
?? 目前工資為1000的員工有10人。
?? 1.事務(wù)1,讀取所有工資為1000的員工。
?? 2.這時事務(wù)2向employee表插入了一條員工記錄,工資也為1000
?? 3.事務(wù)1再次讀取所有工資為1000的員工 共讀取到了11條記錄,?
?
?解決辦法:如果在操作事務(wù)完成數(shù)據(jù)處理之前,任何其他事務(wù)都不可以添加新數(shù)據(jù),則可避免該問題引用自http://uule.iteye.com/blog/1109647
查看全部 -
不可重復(fù)讀?:是指在一個事務(wù)內(nèi),多次讀同一數(shù)據(jù)。在這個事務(wù)還沒有結(jié)束時,另外一個事務(wù)也訪問該同一數(shù)據(jù)。那么,在第一個事務(wù)中的兩次讀數(shù)據(jù)之間,由于第二個事務(wù)的修改,那么第一個事務(wù)兩次讀到的的數(shù)據(jù)可能是不一樣的。這樣在一個事務(wù)內(nèi)兩次讀到的數(shù)據(jù)是不一樣的,因此稱為是不可重復(fù)讀。
??? e.g.
??? 1.在事務(wù)1中,Mary 讀取了自己的工資為1000,操作并沒有完成
??? 2.在事務(wù)2中,這時財(cái)務(wù)人員修改了Mary的工資為2000,并提交了事務(wù).
??? 3.在事務(wù)1中,Mary 再次讀取自己的工資時,工資變?yōu)榱?000?解決辦法:如果只有在修改事務(wù)完全提交之后才可以讀取數(shù)據(jù),則可以避免該問題
引用自http://uule.iteye.com/blog/1109647
查看全部 -
臟讀 A讀取到了 B事務(wù)還未commit的數(shù)據(jù)C',若B被回滾則數(shù)據(jù)可能回滾為C,則A讀到的數(shù)據(jù)C’是無效的。
查看全部 -
事務(wù)管理器 PlatfromTransactionManager? 是根據(jù)持久層框架的不同選擇對應(yīng)的事務(wù)管理器。一般選擇 DatasourceTransactionManager
查看全部 -
課程總結(jié) 幾種spring實(shí)現(xiàn)事務(wù)控制的區(qū)別和使用場景,開發(fā)中最常用的是最后兩種申明式事務(wù)。
1.基于aspect的切面式xml配置事務(wù),配置稍復(fù)雜,但清晰可見事務(wù)使用范圍,無需修改代碼.
2.基于注解的事務(wù) 配置簡單,但需要修改代碼,總的來說也簡單。
查看全部 -
基于注解方式的事務(wù)控制。在xml中開啟注解式事務(wù)驅(qū)動。在所定義的方法或類前開啟注解。
注解的部分含義如下
查看全部 -
編程式事務(wù)
查看全部 -
事物管理三個接口
事物管理器:platformTranscationManager
事物定義;TranscationDefault
事物狀態(tài):TranscationStatus
查看全部 -
事物是邏輯上的一組操作,要么都執(zhí)行,要么都不執(zhí)行
事物的特性:
????1、原子性:事物是最小的執(zhí)行單位,不允許分割
????2、一致性:執(zhí)行事物前后,數(shù)據(jù)保持一致
????3、隔離性:并發(fā)訪問數(shù)據(jù)庫時,一個用戶的事物不被其他事物所干擾,各并發(fā)事物之間數(shù)據(jù)庫是獨(dú)立的
????4、持久性:事物一旦提交,就會被數(shù)據(jù)庫記錄
查看全部
舉報(bào)