# 引入mybatis-plus依赖,注意这里的版本是3.4.2;(其他版本没有测)
# 3.2.0肯定是不支持的,无法引入MybatisPlusInterceptor;
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
# 创建配置类,添加乐观锁拦截器
package com.sawl.fxapi.config;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
/**
* @Author ds
* @Date 2022-05-10
*/
@Configuration
public class MyBatisPlusConfig {
/**
* 乐观锁插件
* @return
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
mybatisPlusInterceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
return mybatisPlusInterceptor;
}
}
# 在实体类的字段上加上@Version注解
package com.sawl.fxapi.enotary.entity;
import com.baomidou.mybatisplus.annotation.Version;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 测试表
*
* @author ds
* @email 464226150@qq.com
* @date 2022-05-07 10:37:57
*/
@Data
@TableName(value = "TB_NUMBER")
@ApiModel(value = "TbNumber", description = "测试表")
public class TbNumberEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 版本记录
*/
@Version
@ApiModelProperty(value="版本", example="1", notes="版本")
private Long recordVersion;
}
# 在新增时,我们需要为version字符赋默认值
# 在更新时,我们可以在更新之前将数据先查一次,再使用上述方式根据查询结果的对象实体更新
# 参考:
https://www.cnblogs.com/july-sunny/p/15769487.html
https://www.jb51.net/article/223881.htm
网友评论