MP实战系列(十七)之乐观锁插件
生活随笔
收集整理的這篇文章主要介紹了
MP实战系列(十七)之乐观锁插件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
聲明,目前只是僅僅針對3.0以下版本,2.0以上版本。
意圖:
當要更新一條記錄的時候,希望這條記錄沒有被別人更新
樂觀鎖實現方式:
取出記錄時,獲取當前version 更新時,帶上這個version 執(zhí)行更新時, set version = yourVersion+1 where version = yourVersion 如果version不對,就更新失敗第一步,配置
SSM框架(Spring+SpringMVC+MyBatis-Plus):
spring-mybatis.xml配置:
SpringBoot配置:
@Bean
public OptimisticLockerInterceptor optimisticLockerInterceptor() {return new OptimisticLockerInterceptor(); }第二步,加上注解
public class User {
@Version private Integer version;}
特別說明: 僅支持int,Integer,long,Long,Date,Timestamp
測試代碼:
int id = 100;
int version = 2;
User u = new User();
u.setId(id);
u.setVersion(version);
if(userService.updateById(u)){
System.out.println("Update successfully");}else{
System.out.println("Update failed due to modified by others");}
示例SQL原理:
update tbl_user set name='update',version=3 where id=100 and version=2;
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的MP实战系列(十七)之乐观锁插件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到牙齿很痛是怎么回事
- 下一篇: View详解(4)