MyBatis-Plus之逻辑删除的实现_java

来源:脚本之家  责任编辑:小易  

www.zgxue.com防采集请勿采集本网。

特别是互联网项目,对于数据一般是不能删除的(涉及到后面的数据分析),这就涉及到逻辑删除。所谓逻辑删除指的是数据并不是真正的删除,只是改数据表对应数据的状态(数据表中通常有一列叫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 2020-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测试,如图:

控制台打印,如图:

刷新数据表,查看该用户数据是否变动,如图:

果然变动了,说明逻辑删除生效。

到此这篇关于MyBatis-Plus之逻辑删除的实现的文章就介绍到这了,更多相关MyBatis-Plus 逻辑删除内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网! 您可能感兴趣的文章:mybatis-plus3.4.0逻辑删除报错的解决mybatis-plus getOne和逻辑删除问题详解

Struts的基层结构,jsp页面是表示2113层View, Action是业务逻辑即控制层5261Control,Dao、4102DaoImpl、Service、ServiceImpl都是数据访问曾的东西。一般1653性Service、ServiceImpl是连接 Action和Dao、DaoImpl的,一般性用Spring的注解衡态在xml中,Dao、DaoImpl是最后操羡拦者作数据库的,如果你用ibatis的话,用Service、ServiceImpl调用Dao、DaoImpl,然后数据库的兄薯操作语句的调用写在Dao、DaoImpl,最后真正数据库操作语句写在相应的xml中内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • 详解springboot程序启动时执行初始化代码
  • springcloud基于openfeign实现服务调用代码实例
  • spring boot 防止重复提交实现方法详解
  • java8新特性stream流实例详解
  • java虚拟机指令dup详解
  • java代码书写规范汇总详解
  • java 构造器原理及用法解析
  • 一次因hashset引起的并发问题详解
  • java定时任务的三种实现方法
  • 通过idea创建spring boot项目并配置启动过程图解
  • 有多少人在滥用service+serviceImpl,又有多少人在误用myBatis 百度...
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全c#教程vbvb.netc 语言java编程delphijavaandroidiosswiftscala易语言汇编语言其它相关首页mybatis-plus3.4.0逻辑删除报错的解决mybatis-plus getone和逻辑删除问题详解详解springboot程序启动时执行初始化代码springcloud基于openfeign实现服务调用代码实例spring boot 防止重复提交实现方法详解java8新特性stream流实例详解java虚拟机指令dup详解java代码书写规范汇总详解java 构造器原理及用法解析一次因hashset引起的并发问题详解java定时任务的三种实现方法通过idea创建spring boot项目并配置启动过程图解java使double保留两位小数的多方intellij idea 2020最新激活码(亲java8 十大新特性详解java.net.socketexception: connjava写入文件的几种方法分享java环境变量的设置方法(图文教程java 十六进制与字符串的转换java list用法示例详解java中file类的使用方法java 字符串截取的三种方法(推荐spring基于@conditional条件化装配beanspring boot中使用mongodb的连接池配置的利用spring boot创建docker image的完整步java设计模式之工厂模式分析【简单工厂、idea安装lombok插件设置enable annotatiomybatis自动生成时如何设置不生成examplejava 遍历map的几种方法示例代码java线程间共享实现方法详解基于jvm 中常见垃圾收集算法介绍java screen的配置详解及注意事项
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved