mybatis-plus逻辑删除

mybatis-plus:逻辑删除

不做真正的删除,在查询时添加一个where条件

例如在某宝上有一条不可描述的购买信息不想被看到,你要删除他,但是从平台的角度考虑是不能随便就彻底的删除掉数据的,那么有没有一个两个都可以满足的解决方式呢,答案是有的——逻辑删除,不做真正意义的删除,在数据库中用一个字段做专门的标记,原本查询的sql语句就变成了这样:

select * from tableName where 原先的查询条件 and 用来标记的字段=设定的用于标记删除的值

而用户的删除行为也变成了update: update tablename set 用来标记的字段=设定的用于标记删除的值 where 用于删除的条件

配置

在application.yml配置文件中配置

mybatis-plus:
  global-config:
    db-config:
      logic-delete-field: flag  # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)
      logic-delete-value: 1 # 逻辑已删除值(默认为 1)
      logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)

修改数据库字段

新增一个deleted字段,注意不能使用delete会报错

修改实体类Car并在该属性上打上@TableLogic注解

@TableLogic
    private Integer deleted;

运行测试:

//根据id删除
@Test
void testDeleteById(){
    autoMapper.deleteById(25);
}

运行测试方法,deleted字段被更新 以后的查找方法会被加上一个where条件 deleted=0;

从逻辑上实现了数据的删除

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值