@TableLogic表逻辑处理注解(逻辑删除)
效果:在字段上加上这个注解再执行BaseMapper的删除方法时,删除方法会变成修改
例:
实体类:
@TableLogic
private Integer del;
service层:
调用BaseMapper的deleteById(id);
执行是效果:
加@TableLogic的情况下
走 Update 表名 set 加注解的列=值 where del=值
不加@TableLogic的情况下
走 delete from 表名 where del=值
@TableLogic注解参数
value = “” 默认的原值
delval = “” 删除后的值
@TableLogic(value=“原值”,delval=“改值”)
·····················································································
乐观锁使用
主要适用场景
意图:
当要更新一条记录的时候,希望这条记录没有被别人更新
乐观锁实现方式:
取出记录时,获取当前version
更新时,带上这个version
执行更新时, set version = yourVersion+1 where version = yourVersion
如果version不对,就更新失败
乐观锁配置需要2步 记得两步
1.插件配置
spring xml
spring boot
@Bean
public OptimisticLockerInterceptor optimisticLockerInterceptor() {
return new OptimisticLockerInterceptor();
}
public class User {
@Version
private Integer version;
...
}
特别说明: 仅支持int,Integer,long,Long,Date,Timestamp
例子sql:update tbl_user set name=‘update’,version=3 where id=100 and version=2;