MybatisPlus实现逻辑删除的示例代码

 更新时间:2023年05月09日 08:35:24   作者:dreaming9420  
本文主要介绍了Mybatis Plus实现逻辑删除的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1、什么是逻辑删除

逻辑删除是名义上的删除,就是对要要删除的数据打上一个删除标记,在逻辑上数据是被删除的,但数据本身依然存在,可通过修改删除标记来恢复数据。

2、使用说明:

只对自动注入的 sql 起效,自己在mapper.xml中写的sql不生效:
插入: 不作限制
查找: 追加 where 条件过滤掉已删除数据
更新: 追加 where 条件防止更新到已删除数据
删除: 转变为更新

3、如何使用Mybatis Plus实现逻辑删除

3.1 在数据库表中添加逻辑删除字段并定义默认值(插入的时候就不在需要设置该字段值)

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `user_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '用户名',
  `sex` int(1) NULL DEFAULT NULL COMMENT '0 男 1 女',
  `age` int(11) NULL DEFAULT NULL COMMENT '年龄',
  `deleted` int(1) NULL DEFAULT NULL COMMENT '是否被删除 0 未删除 1 已删除',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = DYNAMIC;

3.2 yml配置

mybatis-plus:
  global-config:
    db-config:
      logic-delete-field: deleted # 全局逻辑删除的实体字段名,也可实体类字段上加上@TableLogic注解
      logic-delete-value: 1 # 逻辑已删除值
      logic-not-delete-value: 0 # 逻辑未删除值

假如在查询的时候不想查询该字段,可以在字段上加上 @TableField(select = false)注解

4、测试

到此这篇关于MybatisPlus实现逻辑删除的示例代码的文章就介绍到这了,更多相关MybatisPlus逻辑删除内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • spring通过导入jar包和配置xml文件启动的步骤详解

    spring通过导入jar包和配置xml文件启动的步骤详解

    这篇文章主要介绍了spring通过导入jar包和配置xml文件启动,本文分步骤通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Java实现动物换位游戏完整 过程详解

    Java实现动物换位游戏完整 过程详解

    大家好,今天尝试用Java编程设计一个GUI界面的动物换位游戏,游戏的结果是让左右两组的动物交换位置,以下是具体设计过程,供大家参考
    2022-07-07
  • Spring Boot RestTemplate提交表单数据的三种方法

    Spring Boot RestTemplate提交表单数据的三种方法

    本篇文章主要介绍了Spring Boot RestTemplate提交表单数据的三种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Mybatis 插入和删除批处理操作

    Mybatis 插入和删除批处理操作

    在操作数据库时,经常会碰到批量插入、批量删除的情况,直接执行SQL语句还好做一点,当使用Mybatis进行批量插入、批量删除时会有一些问题。下面对使用Mybatis批量插入,批量删除进行介绍
    2016-12-12
  • Java中的throws关键字处理异常的最佳实践记录

    Java中的throws关键字处理异常的最佳实践记录

    在Java编程中,异常处理是保证程序健壮性和稳定性的重要手段,除了使用try-catch块捕获异常外,Java还提供了throws关键字,允许我们将异常抛给调用者处理,本文介绍Java中的throws关键字处理异常的最佳实践记录,感兴趣的朋友一起看看吧
    2025-01-01
  • Maven Repository 使用方法

    Maven Repository 使用方法

    对于Java开发者来说,Maven Repository是个必须掌握的网站,它可以让开发者更加方便地管理和维护 Java 项目的依赖项,同时简化了项目开发的过程,这篇文章主要介绍了Maven Repository 使用方法,需要的朋友可以参考下
    2024-02-02
  • Java 轮询锁使用时遇到问题解决方案

    Java 轮询锁使用时遇到问题解决方案

    这篇文章主要介绍了Java 轮询锁使用时遇到问题解决方案,当我们遇到死锁之后,除了可以手动重启程序解决之外,还可以考虑使用顺序锁和轮询锁,但是过程也会遇到一些问题,接下来我们一起进入下面文章了解解决方案,需要的小伙伴可以参考一下
    2022-05-05
  • 深入探究Spring IOC和DI的区别

    深入探究Spring IOC和DI的区别

    很多人都会把ioc和di说成同一个东西,其实IOC和DI虽然在概念上可以笼统地视为同一事物,但其本质上存在区别,因此,我们希望能够更加严谨地区分这两个概念,以更好地理解和应用它们,需要的朋友可以参考阅读本文
    2023-10-10
  • Spring接口ApplicationRunner用法详解

    Spring接口ApplicationRunner用法详解

    这篇文章主要介绍了Spring接口ApplicationRunner的作用和使用介绍,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • java实现TCP socket和UDP socket的实例

    java实现TCP socket和UDP socket的实例

    这篇文章主要介绍了本文主要介绍了java实现TCP socket和UDP socket的实例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02

最新评论