mybatis中的事务------我的笔记M11
生活随笔
收集整理的這篇文章主要介紹了
mybatis中的事务------我的笔记M11
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
mybatis中的事務------我的筆記M11
我這是自己整理下,有不對的地方,大佬們輕點噴
一:什么是事務?
它是通過sqlsession對象的commit方法和rollback方法實現事務的提交和回滾
二:事務的四大特性ACID
原子性: 即一個事務內的所有操作在一起,要么全部失敗,要么全部成功。(同生死的意思)
一致性: 如果事務執行之前數據庫是一個完整性的狀態,那么事務結束后,無論事務是否執行成功,數據庫仍然是一個完整性狀態。(假如有10萬,不考慮那么多雜七雜八的,你還是有10萬)
隔離性: 事物可以有多個原子包的形式并發執行,但是,每個事物互不干擾 (簡單明了)
持久性: 只要事務提交了,那么他就是提交了(不受影響)。(當然,干掉硬盤也照樣完蛋)
三:不考慮隔離性的三個問題
臟讀: 再這個事務的處理過程,也就是讀取錯了,讀取到另一個沒提交的事務了
不可重復讀: 就是不可以讀取前一事務提交的數據
虛讀(幻讀): 幻讀也是讀取了另一條已經提交的事務,但幻讀針對的是一批數據整體
四:四種隔離級別(解決辦法)
注:級別越高,執行效率越低
Serializable (串行化):可避免臟讀、不可重復讀、幻讀的發生。
Repeatable read (可重復讀):可避免臟讀、不可重復讀的發生。(mysql數據庫默認)
Read committed (讀已提交):可避免臟讀的發生。
Read uncommitted (讀未提交):最低級別,任何情況都無法保證。
總結
以上是生活随笔為你收集整理的mybatis中的事务------我的笔记M11的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android永久关闭linux,And
- 下一篇: openEuler 的安装及内核编译