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