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!

推薦閱讀: