MP逻辑删除

一、什么是逻辑删除

MybatisPlus中逻辑删除通俗说为了在数据库中保留数据,但是又不想进行其他一些sql语句时有他(刚刚通过逻辑删除了的)的存在。就是在数据库中添加一字段,通过数值内容来说明那些是指删除了的即可

二、逻辑删除实现步骤

2.1 数据库添加字段

2.2 全局配置

没有指定哪个数据表对象层中的对应字段实现逻辑删除这个功能,只要拥有全局设置一样的字段即可,这里使用springboot框架的application.yml配置为例,逻辑删除字段为del_flag,0代表未删除,1代表删除

#  mp日志
mybatis-plus:
    db-config:
        # 逻辑删除的字段
          logic-delete-field: delFlag
          # 代表已删除的值
          logic-delete-value: 1
          # 代表未删除的值
          logic-not-delete-value: 0

三、总结

我们调用mp的removeById就不会真正的删除这条记录,而是逻辑删除,把逻辑删除字段修改

在测试类中测试,在测试中发现,数据库表对应的数据并没有真正意义上的删除,只是在对应字段做好了设定好的标记。而且在其他mp操作此表时并没有这条数据的参与,即实现开发者想删除某条数据,但又想数据库能保留这个数据记录

逻辑删除的好处是,在删除数据时不会真正地删除它们,而是保留数据的历史记录。这有助于保留数据完整性以及提供恢复和审计功能,同时还可以避免误删数据的风险。然而,需要注意的是逻辑删除只是一种软删除方式,对于一些敏感数据或需要完全删除的情况,物理删除可能更合适

总结:逻辑删除是一种不直接删除数据而是将其状态标记为已删除的方法。通过在数据库表中添加一个表示删除状态的字段,并在查询数据时过滤已被逻辑删除的数据,可以实现逻辑删除的效果。但需要注意逻辑删除并非适用于所有情况,特定的业务需求可能需要考虑使用其他删除方式,一般我们做项目考虑到保存数据的历史记录,都采用逻辑删除,做大型项目时候要根据具体业务需求来决定物理删除还是逻辑删除

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值