mybatis-plus 物理删除和逻辑删除

物理删除:在删除的时候之间数据从数据库中删除

逻辑删除:从逻辑层面控制删除,通常会在表里面添加一个逻辑删除的字段,比如:enabled,is_delete,数据默认是有效的(如值为1),当用户删除时将数据修改(UPDATE)为 0,查询的时候只查询where enabled=1

mybatis-plus默认1为删除,0为未删除

1.添加逻辑删除字段

private Integer enabled; //标识逻辑删除的字段

2.注解(局部)逻辑删除配置

实体类字段中加入如下字段(表中也有相应字段)及注解

@TableLogic //逻辑删除标识注解
private Integer enabled; //标识逻辑删除的字段

测试:

@Test
void logicDelete(){
    employeeService.removeById(9);
}

并没有执行真正的删除语句,同时使用的是默认的,删除为1,未删除为0
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S6pqEUMe-1639757734141)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20211217235319616.png)]
自定义已删除和未删除值:

@TableLogic(value = "1",delval = "0") //逻辑删除标识注解,并设置已删除和未删除时字段值
private Integer enabled; //标识逻辑删除的字段

再次测试:和我们自定义的符合
在这里插入图片描述
当使用mybatis-plus的通用查询方法时,它会自动加上where条件判断是否为已删除(逻辑删除)的数据
在这里插入图片描述
配置(全局)逻辑删除配置(实体类的对应删除字段不再需要添加@TableLogic注解)

mybatis-plus:
  global-config:
    db-config:
      id-type: auto #设置主键自动生成策略(全局id生成策略)
      logic-delete-field: enabled #逻辑删除字段
      logic-delete-value: 0       #已删除字段
      logic-not-delete-value: 1   #未删除字段
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏至xz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值