mybatis中的事務 我的筆記M11

2021-10-05 06:35:04 字數 739 閱讀 8666

我這是自己整理下,有不對的地方,大佬們輕點噴

一:什麼是事務?

它是通過sqlsession物件的commit方法和rollback方法實現事務的提交和回滾

二:事務的四大特性acid

原子性: 即乙個事務內的所有操作在一起,要麼全部失敗,要麼全部成功。(同生死的意思)

一致性: 如果事務執行之前資料庫是乙個完整性的狀態,那麼事務結束後,無論事務是否執行成功,資料庫仍然是乙個完整性狀態。(假如有10萬,不考慮那麼多雜七雜八的,你還是有10萬)

隔離性: 事物可以有多個原子包的形式併發執行,但是,每個事物互不干擾 (簡單明瞭)

永續性: 只要事務提交了,那麼他就是提交了(不受影響)。(當然,乾掉硬碟也照樣完蛋)

三:不考慮隔離性的三個問題

髒讀: 再這個事務的處理過程,也就是讀取錯了,讀取到另乙個沒提交的事務了

不可重複讀: 就是不可以讀取前一事務提交的資料

虛讀(幻讀): 幻讀也是讀取了另一條已經提交的事務,但幻讀針對的是一批資料整體

四:四種隔離級別(解決辦法)

注:級別越高,執行效率越低

serializable (序列化):可避免髒讀、不可重複讀、幻讀的發生。

repeatable read (可重複讀):可避免髒讀、不可重複讀的發生。(mysql資料庫預設)

read committed (讀已提交):可避免髒讀的發生。

read uncommitted (讀未提交):最低級別,任何情況都無法保證。

springBoot中mybatis事務使用方法

1.在springboot中mybatis plus boot starter 或 mybatis spring boot starter 會自動定義好事物,在pom.xml中匯入jar 3.在需要回滾的方法或類上新增註解 transactional user表資料會執行成功 而 userinfo表...

Mybatis 的事務控制

事務 訪問並可能更新資料庫中各種資料項的乙個程式執行單元 unit 事務的四個特性 原子性 一致性 隔離性 永續性 不考慮隔離性的三個問題 丟失修改 不可重複讀,讀髒資料 解決辦法 四種隔離級別 在 jdbc 中我們可以通過手動方式將事務的提交改為手動方式,通過setautocommit 方法就可以...

mybatis的連線池 事務

一 連線池 資料庫連線池負責分配,管理,釋放資料庫連線 實際開發中一般都會使用連線池,可以減少獲取連線所消耗的時間 mybatis 中資料來源的配置我們的資料來源配置就是在 sqlmapconfig.xml 檔案中 type pooled name driver value name url val...