目录
1.2 修改实体类,在使用类中加入对应的version字段,并使用是乐观锁
当要更新一条记录的时候,希望这条记录没有被别人更新
乐观锁实现方式(来自官方文档):
- 取出记录时,获取当前version
- 更新时,带上这个version
- 执行更新时, set version = newVersion where version = oldVersion
- 如果version不对,就更新失败
1. 配置示例
1.1 在数据库表中加入version字段,表示数据版本号
1.2 修改实体类,在使用类中加入对应的version字段,并使用是乐观锁
/**
* 乐观锁
*/
@TableField("version")
@Version
private int version;
1.3 配置乐观锁
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
return interceptor;
}
}
1.4 测试
/**
* 演示乐观锁
*/
@Test
void demo03(){
User s1 = userMapper.selectById(523);
User s2 = userMapper.selectById(523);
log.info(s1+"");
log.info(s2+"");
s1.setUserName("user231");
s2.setUserName("user241");
int i1=userMapper.updateById(s1);
int i2=userMapper.updateById(s2);
System.out.println(i1 + "------------" + i2);
}
-
结果演示
- 日志说明