作用:保护数据安全,多线程下加锁
过程:
1、先查询,获取当前的版本号
2、若版本号,不对则更新失败
使用
1、在数据库中添加version 字段
2、实现类
package com.wt.pojo; import com.baomidou.mybatisplus.annotation.*; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.Date; @Data @AllArgsConstructor @NoArgsConstructor public class User { private Long id; private String name; private Integer age; private String email; @Version private Integer version; @TableField(fill = FieldFill.INSERT) private Date createTime; @TableField(fill = FieldFill.INSERT_UPDATE) private Date updateTime; }
3、新建配置类
package com.wt.config; import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Configuration; import org.springframework.transaction.annotation.EnableTransactionManagement; @MapperScan("com.wt.mapper") @EnableTransactionManagement // @Configuration // 配置类 public class MyBatisPlusConfig { public OptimisticLockerInterceptor optimisticLockerInterceptor(){ return new OptimisticLockerInterceptor(); } }
4、测试略
原文:https://www.cnblogs.com/wt7018/p/13354509.html