MyBatisPlus逻辑删除

逻辑删除和普通删除都是对数据库中数据进行删除操作,虽然都是删除操作,但它们还是有区别的

  • 普通删除是直接删除数据,而逻辑删除是将该数据标记为已删除
  • 普通删除不可恢复,删除就没了,逻辑删除可恢复,通过把标记改为未删除即可
  • 逻辑删除更好的保证了数据的安全性和完整性,因为它本身真正的删除,避免了误删,非法删除等操作
  • 普通删除可以释放数据空间,而逻辑删除不可释放数据空间,所以需要定期处理

总的来说,逻辑删除和普通删除各有优缺点,选择哪种方式取决于具体的需求和情况。在数据安全性和完整性要求较高的情况下,建议使用逻辑删除;在空间利用率要求较高的情况下,建议使用普通删除。

逻辑删除的步骤也很简单,下面是一个简单案例

1.在数据库表定义一个deleted字段,表示该记录是否已删除,0为删除,1已删除

2.在实体类表中deleted属性上添加@TableLogic注解:

@Data
public class User {
    @TableId
    private Long id;
    private String name;
    private Integer age;

    @TableLogic
    private Integer deleted;
}

3.在配置类上设置逻辑删除项:

mybatis-plus:
  global-config:
    db-config:
      logic-delete-field: deleted#字段名
      logic-delete-value: 1 #删除的
      logic-not-delete-value: 0 #未删除的

4.调用删除方法后它默认会将删除方法改为修改为 deleted=1,而不是直接删除

在配置类中的属于全局配置,还有一个局部的,比如值将User表的删除改为逻辑删除

@Data
public class User {
    @TableId
    private Long id;
    private String name;
    private Integer age;

     /**
     * 逻辑删除 0(false)未删除,1(true)已删除
     */
    @TableLogic(value = "0",delval = "1")
    private Integer deleted;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值