MyBatis Plus 的乐观锁的使用

MyBatis Plus 的乐观锁的使用

1、首先要向SpringBoot容器中注册

写在@Configuration的类下
   /**
    *   乐观锁
    */
   @Bean
   public OptimisticLockerInterceptor optimisticLockerInterceptor() {
       return new OptimisticLockerInterceptor();
   }

2、实体类中设置一个属性@Version

@Data
public class TestEntity extends BaseEntity
{
    private String id;
    
    @Version
    private Integer version;

    private String value;
}

3、使用

首先数据库里写一条数据
在这里插入图片描述
version是数据库取出数据的版本,这里就为1

@Test
   void contextLoads()
   {
       TestEntity test1 = new TestEntity();
       test1.setId(1 + "");
       test1.setVersion(1); // 里面写的是从数据库获取的数据版本
       test1.setValue(2 + "");

       TestEntity test = new TestEntity();
       test.setId(1 + "");
       test.setVersion(1);
       test.setValue(3 + "");

       testMapper.updateById(test1);

       testMapper.updateById(test);
   }

4、结果

只有第一次更新成功了,因为版本号是旧的数据库版本 1

第二次更新的时候,数据库里的版本被第一次更新为 2 ,而第二次更新时的数据版本为 1 ,所以更新失败
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值