三 MP之樂觀鎖

2021-10-05 15:50:24 字數 536 閱讀 3687

事務:如果不考慮事務的隔離性,會產生讀的問題

1.髒讀

2.不可重複讀

3.虛讀/幻讀

寫問題,丟失更新問題

丟失更新:多個人同時修改一條記錄,最後提交的把之前的提交資料覆蓋

解決方案:悲觀鎖 樂觀鎖

悲觀鎖:只能乙個人操作,其他人只能等待,效率低(一般不用)

樂觀鎖:在表中加欄位version,比較當前資料庫版本和資料庫版本是否一樣,把版本加一

1.表新增欄位version,作為樂觀鎖的版本號

2.對應實體類新增版本號屬性,並新增註解@version

@version

private integer version;

3.配置樂觀鎖外掛程式

@enabletransactionmanagement

@configuration

public class mpconfig

}

@test

public void optimisticlockerr()

mp實現樂觀鎖

樂觀鎖解決丟失更新的問題 那麼我們如何實現樂觀鎖呢,一般來說有以下2種方式 1.使用資料版本 version 記錄機制實現,這是樂觀鎖最常用的一種實現方式。何謂資料版本?即為資料增加乙個版本標識,一般是通過為資料庫表增加乙個數字型別的 version 欄位來實現。當讀取資料時,將version欄位的...

mybatisPlus使用之樂觀鎖

先介紹一下樂觀鎖的版本號機制 一般是在資料表中加上乙個資料版本號version欄位,表示資料被修改的次數,當資料被修改時,version值會加一。當執行緒a要更新資料值時,在讀取資料的同時也會讀取version值,在提交更新時,若剛才讀取到的version值為當前資料庫中的version值相等時才更...

資料庫之樂觀鎖,悲觀鎖

樂觀鎖 1.只在提交操作時檢查是否違反資料完整性。使用自增長的整數表示資料版本號。更新時檢查版本號是否一致,比如資料庫中資料版本為6,更新提交時version 6 1,使用該version值 7 與資料庫version 1 7 作比較,如果相等,則可以更新,如果不等則有可能其他程式已更新該記錄,所以...