Mybatis-Plus:逻辑删除(@TableLogic 将数据标记为删除,而并非真正 的物理删除(非DELETE操作)) admin 2023-01-30 16:21:02 篇首语:本文由小编为大家整理,主要介绍了Mybatis-Plus:逻辑删除(@TableLogic 将数据标记为删除,而并非真正 的物理删除(非DELETE操作))相关的知识,希望对你有一定的参考价值。 本节案例承接上节案例 1. 逻辑删除 nS。JSzhuOER。cOm开发系统时,有时候在实现功能时,删除操作需要实现逻辑删除,所谓逻辑删除就是将数据标记为删除,而并非真正的物理删除(非DELETE操作),查询时需要携带状态条件,确保被标记的数据不被查询到。这样做的目的就是避免 数据被真正的删除。 Mybatis-Plus就提供了这样的功能,方便我们使用,接下来我们一起学习下。 1.1 修改表结构 为tb_user表增加deleted字段,用于表示数据是否被删除,1代表删除,0代表未删除。 Navicat执行下列SQL语句: ALTER TABLE `tb_user` ADD COLUMN `deleted` int(1) NULL DEFAULT 0 COMMENT "1代表删除,0代表未删除" AFTER `version`; 同时,也修改User实体,增加deleted属性并且添加@TableLogic注解,标识这是一个逻辑删除的字段: User.java 1.2 配置删除状态和未删除状态的值 application.properties # 删除状态的值为:1mybatis-plus.global-config.db-config.logic-delete-value=1# 未删除状态的值为:0mybatis-plus.global-config.db-config.logic-not-delete-value=0 1.3 测试 1.3.1 先逻辑删除id为3的数据 SpringbootMybatisplusApplicationTests.java @Test public void testDeleteById() this.userMapper.deleteById(3L); 运行结果: nS。JSzhuOER。cOm生成的sql语句为:UPDATE tb_user SET deleted=1 WHERE id=? AND deleted=0 1.3.2 现在查询所有数据 SpringbootMybatisplusApplicationTests.java @Test public void testDeleteById() for (User user : this.userMapper.selectList(null)) System.out.println(user); 运行结果: 发现没有查出id为3的数据 2. 说明 刚开始我的测试结果一直不正常,我去网上查了一下,我的Mybatis-Plus的版本是3.1.0,低于3.1.1 所以我把版本升高到了3.3.2就可以正常执行了。 nS。JSzhuOER。cOm版本可以等于3.1.1。 nS。JSzhuOER。cOm以上是关于Mybatis-Plus:逻辑删除(@TableLogic 将数据标记为删除,而并非真正 的物理删除(非DELETE操作))的主要内容,如果未能解决你的问题,请参考以下文章 解决input,number类型的maxlength无效 广州打胎药微信货到付款_(2023网上药店商城)正品无忧 您可能还会对下面的文章感兴趣: 相关文章 商丘私人空放联系方式_基本资料审核后快速就能放款平台 济宁私人借钱24小时在线,5万以上级别的贷款|无抵押个人借贷|秒下| 湖州空放私借2小时放款—身无分文借贷100%直接放款 宜昌纯私人放款微信电话——马上为您安排信贷服务+当日到账 蚌埠24小时私人放款联系方式随借随到-做生意借贷|应急周转|大额优先| 遵义空放借钱贷款联系电话:走投无路申请放款马上就到账 绵阳专业空放贷款私人联系方式,不看过往|先贷后放|马上拿钱| 德州附近个人放款电话号码多少:不审核+随借随还+当日成功+直接到账