工程结构
配置mybatis-plus乐观锁插件
/**
* Copyright (c) 2020 ucsmy.com, All rights reserved.
*/
package com.example.mybatisplusdemo.config;
import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
// mp的乐观锁插件
@Configuration
public class MybatisConfig
{
@Bean
public OptimisticLockerInterceptor optimisticLockerInterceptor() {
return new OptimisticLockerInterceptor();
}
}
实体类中添加version字段与注解
@Data
public class User
{
private String id;
@TableField("USER_NAME")
private String userName1;
private String address;
// 版本号,用于实现乐观锁,数据库中也增加相应的version字段
@Version // 这个注解是关键
private Integer version;
}
测试代码
@Test
// 乐观锁测试
void testLock()
{
// 先查询user
User user = mapper.selectById("1");
// 然后更新
user.setUserName1("gunsmokefgsgsgs");
mapper.updateById(user);
}
更新后数据库中version字段自动加1