MyBatis-Plus之逻辑删除的实现
#代码知识 发布时间: 2026-01-12
特别是互联网项目,对于数据一般是不能删除的(涉及到后面的数据分析),这就涉及到逻辑删除。所谓逻辑删除指的是数据并不是真正的删除,只是改数据表对应数据的状态(数据表中通常有一列叫delFlag,以此标识正常状态或删除状态)。逻辑删除一般都是更新操作,但写大量更新方法无疑是增加代码量,MyBatis-Plus又是如何实现逻辑删除的呢?其实很简单一共两步。

一、配置文件配置
mybatis-plus: global-config: db-config: logic-delete-value: 1 # 逻辑已删除值(默认为 1) logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
二、数据模型实体添加注解
使用 @TableLogic注解
package com.blog.tutorial.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import java.util.Date;
/**
* <p>
* * </p>
* * @author youcong
* @since 2025-04-18
*/@Data
@TableName("wp_users")
public class Users extends Model<Users> {
private static final long serialVersionUID = 1L;
@TableId(value = "ID", type = IdType.AUTO)
private Long id;
@TableField("user_login")
private String userLogin;
@TableField("user_pass")
private String userPass;
@TableField("user_nicename")
private String userNicename;
@TableField("user_email")
private String userEmail;
@TableField("user_url")
private String userUrl;
@TableField("user_registered")
private Date userRegistered;
@TableField("user_activation_key")
private String userActivationKey;
@TableLogic
@TableField("user_status")
private Integer userStatus;
@TableField("display_name")
private String displayName;
}
完成上面两步,在第三步我们可以进行测试。
三、测试
删除用户表的这个用户,如图:
数据是否删除在于user_status是否改变,如果变成1,说明逻辑删除生效。
如果user_status还是为0或者这条数据不在了(物理删除了),说明逻辑删除失效。
测试Controller代码:
@PostMapping("/del")
public Map del(Integer id) {
Map<String, Object> returnMap = new HashMap<>();
returnMap.put("code", "200");
returnMap.put("msg", "删除成功");
usersService.removeById(id);
return returnMap;
}
使用PostMan测试,如图:
控制台打印,如图:
刷新数据表,查看该用户数据是否变动,如图:
果然变动了,说明逻辑删除生效。
代码知识SEO上一篇 : Java实现小型图书馆管理系统
下一篇 : JavaFX实现简易时钟效果
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!