MyBatis-Plus实现逻辑删除

1. 概念:

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

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

2. 逻辑删除实现:

步骤1. 数据库和实体类添加逻辑删除字段

  1. 表添加逻辑删除字段

    可以是一个布尔类型、整数类型或枚举类型。

    ALTER TABLE USER ADD deleted INT DEFAULT 0 ;  # int 类型 1 逻辑删除 0 未逻辑删除
    
  2. 实体类添加逻辑删除属性

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

步骤2. 指定逻辑删除字段和属性值

  1. 单一指定

    @Data
    public class User {
    
       // @TableId
        private Integer id;
        private String name;
        private Integer age;
        private String email;
         @TableLogic
        //逻辑删除字段 int mybatis-plus下,默认 逻辑删除值为1 未逻辑删除 1 
        private Integer deleted;
    }
    
  2. 全局指定
    再配置文件中进行配置,这样可以全局指定,deleted 属性对于所有实体都生效,就不需要进行上述单一指定。

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

相关推荐

  1. MyBatis-Plus实现逻辑删除

    2024-03-22 13:44:02       45 阅读
  2. Mybatis-plus逻辑删除

    2024-03-22 13:44:02       54 阅读
  3. 【第20章】MyBatis-Plus逻辑删除支持

    2024-03-22 13:44:02       16 阅读
  4. Python实现Mybatis Plus

    2024-03-22 13:44:02       28 阅读
  5. MyBatis-Plus 实现分页

    2024-03-22 13:44:02       48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-22 13:44:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-22 13:44:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-22 13:44:02       87 阅读
  4. Python语言-面向对象

    2024-03-22 13:44:02       96 阅读

热门阅读

  1. 如何在Flutter中实现一键登录

    2024-03-22 13:44:02       38 阅读
  2. 深入了解23种设计模式:程序员必读指南

    2024-03-22 13:44:02       37 阅读
  3. 常见视频名词及视频格式

    2024-03-22 13:44:02       43 阅读
  4. Git进阶指南

    2024-03-22 13:44:02       38 阅读
  5. 科大讯飞开放平台-python语音转文字教程

    2024-03-22 13:44:02       41 阅读
  6. 二进制数转化为四,八,十,十六进制

    2024-03-22 13:44:02       44 阅读
  7. C# Selenium Edge 驱动下的常见用法

    2024-03-22 13:44:02       34 阅读
  8. VUE pc端+移动端上传录音并上传(recorder-core)

    2024-03-22 13:44:02       41 阅读
  9. doris参数总结

    2024-03-22 13:44:02       35 阅读
  10. AWTK-MODBUS 客户端工具

    2024-03-22 13:44:02       40 阅读