MybatisPlus - [05] 逻辑删除
题记部分
一、物理删除&逻辑删除
物理删除:delete from table_name where xxx = ?;
逻辑删除:update table_name set deleted = 0 where xxx = ?;
二、测试
(1)增加逻辑删除字段deleted(默认1,1:存在,0:删除)
alter table user add column deleted int(1) default 1 comment '逻辑删除' after version;
(2)POJO实体类增加属性
package com.harley.pojo;
import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import java.util.Date;
/**
* @author harley
* @date 2024/06/06 17:30
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class User {
@TableId(type = IdType.AUTO)
private Long id;
private String name;
private Integer age;
private String email;
@Version
private Integer version;
@TableLogic // 逻辑删除
private Integer deleted;
@TableField(fill = FieldFill.INSERT)
private Date createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
}
(3)配置 application.properties
spring.application.name: mybatis-plus
# 数据库连接配置
spring.datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/mybatis_plus?useSSL=false&userUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root
password: '!QAZ2wsx'
mybatis-plus:
global-config:
# 配置逻辑删除
db-config:
# 删除为0
logic-delete-value: 0
# 存在为1
logic-not-delete-value: 1
configuration:
# 配置日志
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
(4)测试删除
- 首先查询user表中的数据,底层SQL会查询数据库中
deleted=1的数据。

- 漩涡鸣人开启仙人模式干掉6个佩恩
@Test
void testDelete(){
int res = userMapper.deleteBatchIds(Arrays.asList(7L,8L,9L,10L,11L,12L));
if (res > 0){
System.out.println("漩涡鸣人开启仙人模式干掉了"+res+"个佩恩");
}
}

但是,查看后台数据库,会发现“删除”的记录仍然存在,只是deleted变为了0

— 业精于勤荒于嬉,行成于思毁于随 —
MybatisPlus - [05] 逻辑删除的更多相关文章
- MyBatisPlus解决逻辑删除与唯一索引的兼容问题
需求背景 比如有张用户表,在插入或者更新数据的时候,我们需要 用户名称(username),不能重复. 我们首先考虑的是给该字段创建唯一索引 create unique index uni_usern ...
- Java开发学习(四十八)----MyBatisPlus删除语句之逻辑删除
1.逻辑删除 接下来要讲解是删除中比较重要的一个操作,逻辑删除,先来分析下问题: 这是一个员工和其所签的合同表,关系是一个员工可以签多个合同,是一个一(员工)对多(合同)的表 员工ID为1的张业绩,总 ...
- mybatis-plus逻辑删除deleted
项目中数据库表设计原则用到了逻辑删除:数据本身没有被删除,只是将deleted字段设置为1 mybatis-plus在逻辑删除方面的设置如下: mybatis-plus: configuration: ...
- spring boot项目自定义数据源,mybatisplus分页、逻辑删除无效解决方法
Spring Boot项目中数据源的配置可以通过两种方式实现: 1.application.yml或者application.properties配置 2.注入DataSource及SqlSessio ...
- Spring boot+Mybatisplus用AR模式实现逻辑删除操作
Mybatisplus的AR模式 Active Record(活动记录),是一种领域模型模式,特点是一个模型类对应关系型数据库中的一个表,而模型类的一个实例对应表中的一行记录.ActiveRecord ...
- 小书MybatisPlus第8篇-逻辑删除实现及API细节精讲
本文为Mybatis Plus系列文章的第8篇,前7篇访问地址如下: 小书MybatisPlus第1篇-整合SpringBoot快速开始增删改查 小书MybatisPlus第2篇-条件构造器的应用及总 ...
- mybatis-plus逻辑删除
MP(mybatis plus)已经大大简化了我们好多的开发操作,基本的增删改查都有了,包括代码生成等等,今天想说的是它的逻辑删除功能.我们都在数据库设计时候经常会有is字段,表示是否删除,为了留下员 ...
- 【mybatis-plus】分页、逻辑删除
通过mybatis-plus实现分页,也是很简单,插件大法. 一.分页 1.配置分页插件 把分页的插件也配置到统一的配置类里: @Configuration // 配置扫描mapper的路径 @Map ...
- MyBatisPlus 逻辑删除演示
一.数据库 数据库中添加逻辑删除字段:
- mybatis配置的逻辑删除不好使了
在使用mybatisplus中,可使用逻辑删除.案例中,使用mybatisplus逆向生成model,使用delete_status为识别逻辑删除字段. springboot 中配置启动逻辑删除 my ...
随机推荐
- SpringBoot 整合Swagger2 踩坑记录
SpringBoot 整合Swagger2 踩坑记录 Failed to start bean 'documentationPluginsBootstrapper'; nested exception ...
- 我们为什么选择Vue.js而不是React(转载)
这篇非常好,可以当做 why React sucks 看 ;D 其实 vue 也不如 molecule 最近,Qwintry开发团队把很多项目都迁移至Vue.js,包括所有遗留的项目和新开始的项目: ...
- C#字符串拼接的几种方式及其性能分析对比
前言 在C#编程中字符串拼接是一种常见且基础的操作,广泛应用于各种场景,如动态生成SQL查询.构建日志信息.格式化用户显示内容等.然而,不同的字符串拼接方式在性能和内存使用上可能存在显著差异.今天咱们 ...
- Windows 10 下编译 64 位 OpenJDK 8 并单步调试
Windows 10 下编译 64 位 OpenJDK 8 软件版本 操作系统:Windows 10 Cygwin:3.5.4-1 Visual Studio:2010 英文版 freetype: 2 ...
- [Symfony\Component\Process\Exception\RuntimeException] The Process class relies on proc_open, which is not available on your PHP installation.
[Symfony\Component\Process\Exception\RuntimeException] The Process class relies on proc_open, which ...
- 墨卡托及Web墨卡托投影解析
Google Maps.Virtual Earth等网络地理所使用的地图投影,常被称作Web Mercator(Web墨卡托投影)或Spherical Mercator(球面墨卡托投影),它与常规墨卡 ...
- spark (六) RDD算子(operator)
目录 1 转换算子(transformer)(将旧的RDD包装成新RDD) 1.1 单值类型 1.1.1 map 1.1.2 mapPartition 1.1.3 mapPartitionsWithI ...
- python创建项目虚拟环境
创建一个文件夹用于存放你的虚拟环境 cd 到存放虚拟环境的地址 安装虚拟环境库: pip3 install virtualenv 创建虚拟环境:python3 -m venv 环境名称 激活虚拟环境: ...
- 一种调试 线段树 / Treap / Splay / 左偏树 / LCT 等树形结构的技巧
前言 如果我们需要观察程序运行过程中,某一个变量.某一个序列的变化情况,你可以在修改的地方打断点 debug,或者直接在需要的地方输出就行了. 但是对于一些树形结构,我们不好将其直观地呈现出来,常常只 ...
- c# 免注册调用大漠插件100%完美识别文字
c# 免注册调用大漠插件100%完美识别文字 下载:https://download.csdn.net/download/xxq931123/10875122 绑定 模式:http://zy.anji ...