数据库中的数据删除会分为两种:物理删除 和 逻辑删除

物理删除

物理删除就是我们删除数据库中的一条数据时,数据会真的被删除

逻辑删除

逻辑删除指的是我们删除一条数据时,数据不会在数据库中消息,逻辑删除是我们现在开发中经常使用到的一种删除

(1)首先我们需要在实体类和数据表中添加一个逻辑删除字段deleted,默认为0

数据库(这里以user表为例)

实体类

我们可以在application.properties文件中进行deleted字段值修改,比如说,10代表没删除,11代表已经逻辑删除

mybatis-plus.global-config.db-config.logic-delete-value=11
mybatis-plus.global-config.db-config.logic-not-delete-value=10

默认的是0代表没删除,1代表已经逻辑删除,所以我们不配置也行

(2)在实体类上加上注解@TableLogic 表明该字段是逻辑删除字段

(3)在配置类中添加逻辑删除组件

 /*** 逻辑删除插件* @return*/@Beanpublic ISqlInjector sqlInjector() {return new LogicSqlInjector();}

然后我们接着进行单元测试

     @Testvoid delete(){int result = userMapper.deleteById(1293468101626593281L);System.out.println(result);}

执行代码之前我们可以在application.properties中添加:

#mybatis日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

主要用于在控制台打印sql语句

在日志中我们可以看一下它打印的sql语句,

底层其实就是update修改语句

我们在通过findAll方法来查询所有的user:

 @Testvoid findAll() {List<User> lists = userMapper.selectList(null);System.out.println(lists);}


此时它的sql语句是默认查询deleted=0的数据

Mybatis-Plus实现逻辑删除相关推荐

  1. MyBatis Plus之逻辑删除和分页插件使用

    概要:Mybatis plus 官网链接 :https://mp.baomidou.com/guide/ 一.依赖配置: <?xml version="1.0" encodi ...

  2. mybatis 乐观锁和逻辑删除

    本篇介绍easymybatis如配置乐观锁和逻辑删除. 乐观锁 easymybatis提供的乐观锁使用方式跟JPA一样,使用@Version注解来实现.即:数据库增加一个int或long类型字段ver ...

  3. mybatis 乐观锁_MybatisPlus新特性之逻辑删除、乐观锁、自动填充

    MP特性 公共字段的自动填充功能 自动更新全局属性,比如创建的时间修改的时间,这样就不用每执行一次插入更新操作都带上一个set大大节省了很多效率,从而也避免为了因为时间格式的不统一问题. 为了输出日志 ...

  4. Mybatis Plus逻辑删除

    1.首先在实体类中的删除字段添加注解 @TableLogic @TableField(deleteFiled) private String deleteFiled; 2.在配置文件中设置: myba ...

  5. MyBatis-Plus 乐观锁 防止超卖、逻辑删除、自动填充、Id自增

    MyBatis-Plus 乐观锁 防止超卖.逻辑删除.自动填充 Day3 前面的简单的讲了一下mybatis-plus的使用 当然有很多不足 我写博客就是想促进大家一起学习 也想让这些内容更简单一些. ...

  6. 浅谈:MyBatis-Plus的CRUD与乐观锁,分页插件,逻辑删除

    浅谈:MyBatis-Plus的CRUD与乐观锁,分页插件,逻辑删除 MyBatis-Plus官方文档连接 什么是MyBatis-Plus 请点击上面官方文档查看 代码演示:代码注释为功能详细解释 数 ...

  7. MybatisPlus实现逻辑删除

    delete 根据id删除记录 //查询user表所有数据 @Test public void findAll() {List<User> users = userMapper.selec ...

  8. mybatis-plus根据多个字段排序_Mybatis Plus学习笔记(逻辑删除/动态填充/常用插件)...

    一.逻辑删除 1.逻辑删除后,将不会被查询出来. mybatis 2.查询中排除逻辑删除字段 在Wrappers.<User>lambdaQuery().eq(User::getIsDel ...

  9. ssm框架逻辑删除mysql_MybatisPlus--CRUD接口及主键增长策略、自动填充、乐观锁更新数据...

    目录 一.insert 1.插入操作 2.主键策略 二.update 1.根据Id更新操作 2.自动填充 3.乐观锁 三.select 1.根据id查询记录 2.通过多个id批量查询 3.简单的条件查 ...

  10. spring boot项目自定义数据源,mybatisplus分页、逻辑删除无效解决方法

    Spring Boot项目中数据源的配置可以通过两种方式实现: 1.application.yml或者application.properties配置 2.注入DataSource及SqlSessio ...

最新文章

  1. bitmapshader 的使用
  2. css 中文字旋转,css
  3. 【系统分析与设计】UML类图绘制方法(真の能看懂~!)
  4. SSM整合shiro框架相关配置文件
  5. LTRIM、RTRIM和TRIM在ORACLE中的用法:
  6. 网关和BFF是如何演进出来的?
  7. clear ,refresh,free
  8. Python爬虫项目---从wiley网站批量下载文章
  9. java 管道流的读写操作 用于两个线程之间的通信
  10. LKT系列加密芯片如何预置openssl生成的rsa密钥完成运算(三)
  11. [NAACL19]无监督循环神经网络文法 (URNNG)
  12. Houdini特效资源如何导入?Houdini工程文件导入教程
  13. 用最简单的例子告诉你kafka是怎么用的
  14. java安卓开发异步任务_java – 如何从android中的任何异步操作中获...
  15. r9270公版bios_华硕R9270显卡开机不显示故障维修
  16. html旅游旅行游记攻略网页源码
  17. Web开发框架——Zheng
  18. U盘量产,以及U盘“请将磁盘插入u盘”等问题。
  19. 日常开发中linux中最常用的100条命令
  20. kinect 学习笔记一

热门文章

  1. 前端面试谈:项目经历的 STAR 法则
  2. 流程框图——各方框含义
  3. iPhone/iPad安装软件出现桌面白图标的问题解决方案
  4. oracle用户登录提示: user test lacks create session privilege logon denied
  5. 装完系统还要装什么_一键重装系统后需要干嘛
  6. 服务器虚拟机启动失败经验总结
  7. python实现isPrime()函数
  8. PDF怎么拆分?有哪些免费的PDF拆分软件
  9. matlab gui 简介,Matlab中Powergui的介绍.pdf
  10. 各代iphone尺寸_iPhone12系列尺寸对比-历代iPhone机型尺寸比较