首页  

mybatisplus 逻辑删除     所属分类 mybatis 浏览量 125
逻辑删除  在表中添加一个表示删除状态的字段,并使用@TableLogic注解标记该字段 

@TableLogic
private Integer deleted;

这个字段通常是一个整数类型(如Integer),其中0表示未删除,1表示已删除

MybatisPlus 3.3.0版本之后,可以 配置设置逻辑删除字段名、逻辑已删除值和逻辑未删除值 

mybatis-plus:
  global-config:
db-config:
logic-delete-field: deleted # 全局逻辑删除的实体字段名
logic-delete-value: 1      # 逻辑已删除值,默认为1
logic-not-delete-value: 0  # 逻辑未删除值,默认为0

这样配置后,MybatisPlus会在执行删除操作时自动处理逻辑删除字段,只对未被标记为已删除的数据进行操作。


@TableLogic注解只对自动注入的 sql 生效 插入(insert) 不作限制 查找(select) @TableLogic 注解将会在 select 语句的 where 条件添加条件,过滤掉已删除数据,且使用 wrapper.entity 生成的 where 条件会忽略该字段 SELECT user_id,name,sex,age,deleted FROM user WHERE user_id=1 AND deleted='0' 更新(update) @TableLogic 注解将会在 update 语句的 where 条件后追加条件,防止更新到已删除数据,且使用 wrapper.entity 生成的 where条件会忽略该字段 UPDATE user SET deleted='1' WHERE user_id=1 AND deleted='0' 删除(delete) @TableLogic 注解会将 delete 语句转变为 update 语句 update user set deleted=1 where id = 1 and deleted=0 xxxMapper.deleteById(id); delete 自动转成 update UPDATE xxx SET valid=0 WHERE id=? AND valid=1

上一篇     下一篇
几何常见解题方法

Java8 Stream API 实例 实现 list 分组

tan15度计算

经典儿童英语诗歌

勾股定理几种证明方法

内网映射方案 lanproxy