Mybatis-Plus实现逻辑删除
数据库中的数据删除会分为两种:物理删除 和 逻辑删除
物理删除
物理删除就是我们删除数据库中的一条数据时,数据会真的被删除
逻辑删除
逻辑删除指的是我们删除一条数据时,数据不会在数据库中消息,逻辑删除是我们现在开发中经常使用到的一种删除
(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实现逻辑删除相关推荐
- MyBatis Plus之逻辑删除和分页插件使用
概要:Mybatis plus 官网链接 :https://mp.baomidou.com/guide/ 一.依赖配置: <?xml version="1.0" encodi ...
- mybatis 乐观锁和逻辑删除
本篇介绍easymybatis如配置乐观锁和逻辑删除. 乐观锁 easymybatis提供的乐观锁使用方式跟JPA一样,使用@Version注解来实现.即:数据库增加一个int或long类型字段ver ...
- mybatis 乐观锁_MybatisPlus新特性之逻辑删除、乐观锁、自动填充
MP特性 公共字段的自动填充功能 自动更新全局属性,比如创建的时间修改的时间,这样就不用每执行一次插入更新操作都带上一个set大大节省了很多效率,从而也避免为了因为时间格式的不统一问题. 为了输出日志 ...
- Mybatis Plus逻辑删除
1.首先在实体类中的删除字段添加注解 @TableLogic @TableField(deleteFiled) private String deleteFiled; 2.在配置文件中设置: myba ...
- MyBatis-Plus 乐观锁 防止超卖、逻辑删除、自动填充、Id自增
MyBatis-Plus 乐观锁 防止超卖.逻辑删除.自动填充 Day3 前面的简单的讲了一下mybatis-plus的使用 当然有很多不足 我写博客就是想促进大家一起学习 也想让这些内容更简单一些. ...
- 浅谈:MyBatis-Plus的CRUD与乐观锁,分页插件,逻辑删除
浅谈:MyBatis-Plus的CRUD与乐观锁,分页插件,逻辑删除 MyBatis-Plus官方文档连接 什么是MyBatis-Plus 请点击上面官方文档查看 代码演示:代码注释为功能详细解释 数 ...
- MybatisPlus实现逻辑删除
delete 根据id删除记录 //查询user表所有数据 @Test public void findAll() {List<User> users = userMapper.selec ...
- mybatis-plus根据多个字段排序_Mybatis Plus学习笔记(逻辑删除/动态填充/常用插件)...
一.逻辑删除 1.逻辑删除后,将不会被查询出来. mybatis 2.查询中排除逻辑删除字段 在Wrappers.<User>lambdaQuery().eq(User::getIsDel ...
- ssm框架逻辑删除mysql_MybatisPlus--CRUD接口及主键增长策略、自动填充、乐观锁更新数据...
目录 一.insert 1.插入操作 2.主键策略 二.update 1.根据Id更新操作 2.自动填充 3.乐观锁 三.select 1.根据id查询记录 2.通过多个id批量查询 3.简单的条件查 ...
- spring boot项目自定义数据源,mybatisplus分页、逻辑删除无效解决方法
Spring Boot项目中数据源的配置可以通过两种方式实现: 1.application.yml或者application.properties配置 2.注入DataSource及SqlSessio ...
最新文章
- bitmapshader 的使用
- css 中文字旋转,css
- 【系统分析与设计】UML类图绘制方法(真の能看懂~!)
- SSM整合shiro框架相关配置文件
- LTRIM、RTRIM和TRIM在ORACLE中的用法:
- 网关和BFF是如何演进出来的?
- clear ,refresh,free
- Python爬虫项目---从wiley网站批量下载文章
- java 管道流的读写操作 用于两个线程之间的通信
- LKT系列加密芯片如何预置openssl生成的rsa密钥完成运算(三)
- [NAACL19]无监督循环神经网络文法 (URNNG)
- Houdini特效资源如何导入?Houdini工程文件导入教程
- 用最简单的例子告诉你kafka是怎么用的
- java安卓开发异步任务_java – 如何从android中的任何异步操作中获...
- r9270公版bios_华硕R9270显卡开机不显示故障维修
- html旅游旅行游记攻略网页源码
- Web开发框架——Zheng
- U盘量产,以及U盘“请将磁盘插入u盘”等问题。
- 日常开发中linux中最常用的100条命令
- kinect 学习笔记一
热门文章
- 前端面试谈:项目经历的 STAR 法则
- 流程框图——各方框含义
- iPhone/iPad安装软件出现桌面白图标的问题解决方案
- oracle用户登录提示: user test lacks create session privilege logon denied
- 装完系统还要装什么_一键重装系统后需要干嘛
- 服务器虚拟机启动失败经验总结
- python实现isPrime()函数
- PDF怎么拆分?有哪些免费的PDF拆分软件
- matlab gui 简介,Matlab中Powergui的介绍.pdf
- 各代iphone尺寸_iPhone12系列尺寸对比-历代iPhone机型尺寸比较