mybatis-plus樂觀鎖實現(xiàn)方式詳解
悲觀鎖、樂觀鎖簡介:
悲觀鎖:同步操作。即用戶A在操作某條數(shù)據(jù)時,為其上鎖,限制其他用戶操作,用戶A操作完成提交事務(wù)后其他用戶方可操作此數(shù)據(jù)。
樂觀鎖:使用版本控制字段。更新某條數(shù)據(jù)時,先判斷此數(shù)據(jù)的version是否符合條件,若符合則更新反之更新失敗。
mybatis-plus樂觀鎖實現(xiàn)方式
1.向數(shù)據(jù)庫中添加版本控制字段version
ALTER TABLE `user` ADD COLUMN `version` INT
2.實體類中對應(yīng)此字段添加@Version注解

特別說明:
特別說明:
- 支持的數(shù)據(jù)類型只有 int,Integer,long,Long,Date,Timestamp,LocalDateTime
- 整數(shù)類型下 newVersion = oldVersion + 1
- newVersion 會回寫到 entity 中
- 僅支持 updateById(id) 與 update(entity, wrapper) 方法
- 在 update(entity, wrapper) 方法下, wrapper 不能復(fù)用!!!
3.寫個配置類,注冊樂觀鎖插件
@Configuration
@MapperScan("com.atguigu.mybatis_plus.mapper")
public class MybatisPlusConfig {
/**
* 樂觀鎖插件
*/
@Bean
public OptimisticLockerInterceptor optimisticLockerInterceptor() {
return new OptimisticLockerInterceptor();
}
}
到此這篇關(guān)于mybatis-plus樂觀鎖實現(xiàn)方式的文章就介紹到這了,更多相關(guān)mybatis-plus樂觀鎖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中ByteArrayOutputStream亂碼問題解決
本文主要介紹了Java中ByteArrayOutputStream亂碼問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
springboot 整合druid數(shù)據(jù)庫密碼加密功能的實現(xiàn)代碼
這篇文章主要介紹了springboot 整合druid數(shù)據(jù)庫密碼加密功能的實現(xiàn)代碼,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
項目連接nacos配置中心報錯:Client not connected, current
這篇文章主要介紹了項目連接nacos配置中心報錯:Client not connected, current status:STARTING的解決方案,采用了mysql作為持久化的數(shù)據(jù)庫,docker作為運行的環(huán)境,感興趣的朋友跟隨小編一起看看吧2024-03-03
Spring Cache與Redis結(jié)合的使用方式
這篇文章主要介紹了Spring Cache與Redis結(jié)合的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12

