首页 > 其他分享 >MybatisPlus配置逻辑删除

MybatisPlus配置逻辑删除

时间:2024-07-08 15:45:17浏览次数:10  
标签:逻辑 MybatisPlus 删除 配置 private logic

MybatisPlus 配置逻辑删除

逻辑删除,可以方便地实现对数据库记录的逻辑删除而不是物理删除。逻辑删除是指通过更改记录的状态或添加标记字段来模拟删除操作,从而保留了删除前的数据,便于后续的数据分析和恢复。

  • 物理删除:真实删除,将对应数据从数据库中删除,之后查询不到此条被删除的数据
  • 逻辑删除:假删除,将对应数据中代表是否被删除字段的状态修改为“被删除状态”,之后在数据库中仍旧能看到此条数据记录

准备工作:

  1. 首先在表名上配置逻辑删除字段:
ALTER TABLE USER ADD deleted INT DEFAULT 0 ;  # int 类型 1 逻辑删除 0 未逻辑删除
  1. 指定逻辑删除字段和属性值,这里可以单独指定和全局指定:

单独配置:

@Data
public class User {

   // @TableId
    private Integer id;
    private String name;
    private Integer age;
    private String email;
     @TableLogic
    //逻辑删除字段 int mybatis-plus下,默认 逻辑删除值为1 未逻辑删除 0 
    private Integer deleted;
}

全局配置:

在 application.yml 中进行如下配置:

mybatis-plus:
  global-config:
    db-config:
      logic-delete-field: isDeleted # 全局逻辑删除的实体字段名(配置后可以忽略不配置步骤二)
      logic-delete-value: 1 # 逻辑已删除值(默认为 1)
      logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)

注意:逻辑删除功能只对Mybatis-Plus自动注入的sql起效,也就是说,对于手动在Mapper.xml文件配置的sql不会生效,需要单独考虑。

标签:逻辑,MybatisPlus,删除,配置,private,logic
From: https://www.cnblogs.com/lilyflower/p/18290017

相关文章

  • nodejs编写退出登录的接口逻辑
    目录1.安装必要的依赖2.登录成功生成和返回JWT3.在服务器端维护一个黑名单列表,记录已失效的JWT4.在验证JWT时检查黑名单5.退出登录时将JWT添加到黑名单中完整代码nodejs实现退出登录接口的逻辑,通常包括以下步骤:安装必要的依赖登录成功生成和返回JWT。在服务器......
  • 如何恢复已删除的音频文件
    设备中文件被意外删除并不是什么新鲜事。但是,如果文件是你最喜欢的MP3歌曲,那就太令人沮丧了。但你知道吗,有一种方法可以从Windows机器中恢复已删除的音乐文件。尝试奇客数据恢复并检索已删除的音频文件。虽然产品名称听起来不像可以帮助恢复已删除的歌曲,但相信我,此工具确实......
  • 电脑数据恢复篇:如何从电脑中恢复已删除的照片
    按下Shift+Delete后后悔了?想要恢复已删除的照片?好吧,如果是这样的话,你来对地方了。在本文中,我们将讨论如何从PC中恢复已删除的文件。自从摄影的概念被提出以来,人们就对它着迷。以前,照片被保存在相册中,如果毁坏,就永远消失了。为了解决这个问题,智能手机和数码相机应运而生......
  • (10)逻辑综合添加约束(环境约束)
    一、环境约束此外,还有电路内互连线的延时也没有考虑在内四个环境约束:1.输出负载如果电路的输出负载过大,将会加大电路的transitiontime,从而影响电路时序此外,若dc默认输出负载为0,即相当于不接负载,这样综合出来的电路时序显然过于乐观,不能反映实际工作情况......
  • 如何删除顽疾Terminating状态的namespace
    删除Terminating状态的namespace  话不多说,开整获取nskubectlgetnsNAMESTATUSAGEarms-promActive16dcattle-impersonation-systemTerminating13ddefaultActive......
  • Redisson锁误删除
    1、目标本文的主要目标是探究Redisson分布式锁在设置过期时间的情况下多线程是否会误删除的问题,首先分析单线程执行的完整过程,然后分析多线程锁误删除的现象,接着进行源码分析,理解Redisson如何保证多线程场景下当前线程不会误删除其他线程id的锁,最后是总结2、单线程执行的......
  • MybatisPlus实现插入/修改数据自动设置时间
    引言插入数据时自动设置当前时间,更新数据时自动修改日期为修改时的日期。使用MybatisPlus的扩展接口MetaObjectHandler步骤实现接口实体类加注解实现接口packagecom.example.vueelementson.common;importcom.baomidou.mybatisplus.core.handlers.MetaObjectHa......
  • sql server数据库触发器记录 数据库中的创建 删除 的操作日志
    sqlserver数据库触发器记录数据库中的创建删除的操作日志1.创建记录日志表SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO/******sqlserver数据库触发器记录数据库中的创建删除的操作日志*/CREATETABLE[dbo].[Trigger_ddl_record]( [Id][int]IDENT......
  • MyBatisPlus
    目录引入MybatisPlus的起步依赖1、引入MybatisPlus依赖,代替Mybatis依赖2.定义Mapper常见注解@TableName:用来指定表名@Tableld:用来指定表中的主键字段信息@TableField:用来指定表中的普通字段信息 使用@TableField的常见场景:成员变量名与数据库字段名不一致​编......
  • 代码随想录算法训练营第四天 | 24. 两两交换链表中的节点 、 19.删除链表的倒数第N个
    24.两两交换链表中的节点 题目:.-力扣(LeetCode)思路:这题关键是要每次进行两个结点的操作,并且每次都要保存其前结点,做题思路比较清晰,但是总是处理不好边界问题,总是越界。代码:/***Definitionforsingly-linkedlist.*structListNode{*intval;*List......