mybatis-plus樂觀鎖實現方式詳解
悲觀鎖、樂觀鎖簡介:
悲觀鎖:同步操作。即用戶A在操作某條數據時,為其上鎖,限制其他用戶操作,用戶A操作完成提交事務後其他用戶方可操作此數據。
樂觀鎖:使用版本控制字段。更新某條數據時,先判斷此數據的version是否符合條件,若符合則更新反之更新失敗。
mybatis-plus樂觀鎖實現方式
1.向數據庫中添加版本控制字段version
ALTER TABLE `user` ADD COLUMN `version` INT
2.實體類中對應此字段添加@Version註解
特別說明:
特別說明:
- 支持的數據類型隻有 int,Integer,long,Long,Date,Timestamp,LocalDateTime
- 整數類型下 newVersion = oldVersion + 1
- newVersion 會回寫到 entity 中
- 僅支持 updateById(id) 與 update(entity, wrapper) 方法
- 在 update(entity, wrapper) 方法下, wrapper 不能復用!!!
3.寫個配置類,註冊樂觀鎖插件
@Configuration @MapperScan("com.atguigu.mybatis_plus.mapper") public class MybatisPlusConfig { /** * 樂觀鎖插件 */ @Bean public OptimisticLockerInterceptor optimisticLockerInterceptor() { return new OptimisticLockerInterceptor(); } }
到此這篇關於mybatis-plus樂觀鎖實現方式的文章就介紹到這瞭,更多相關mybatis-plus樂觀鎖內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- MyBatis-Plus樂觀鎖插件的用法小結
- mybatis plus樂觀鎖及實現詳解
- FluentMybatis實現mybatis動態sql拼裝和fluent api語法
- MP(MyBatis-Plus)實現樂觀鎖更新功能的示例代碼
- mybatis-plus中BaseMapper入門使用