• mybatisPlus填坑之逻辑删除


    网上大部分的关于mybatisPlus的逻辑删除的配置介绍都是有问题的,原因可能是官网已经做了更新!!!错误如图:

     

     

    正确的配置是:

    SpringBoot 配置方式:

    application.yml 加入配置(如果你的默认值和mp默认的一样,该配置可无):

    yml文件(区别是多了一个路径db-config,同学们细看了)

      

    mybatis-plus:
      global-config:
        db-config:
          logic-delete-value: 1 # 逻辑已删除值(默认为 1)
          logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
    

      

    对于逻辑删除拦截器的bean的注入方式

    import com.baomidou.mybatisplus.core.injector.ISqlInjector;
    import com.baomidou.mybatisplus.extension.injector.LogicSqlInjector;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
     
    @Configuration
    public class MyBatisPlusConfiguration {
     
        @Bean
        public ISqlInjector sqlInjector() {
            return new LogicSqlInjector();
        }
    }
    

    实体类字段上加上@TableLogic注解

    @TableLogic
    private Integer deleted;
    

    效果: 使用mp自带方法删除和查找都会附带逻辑删除功能 (自己写的xml不会)

    example

    删除时 update user set deleted=1 where id =1 and deleted=0
    查找时 select * from user where deleted=0
    

      

    附件说明

    逻辑删除是为了方便数据恢复和保护数据本身价值等等的一种方案,但实际就是删除。
    如果你需要再查出来就不应使用逻辑删除,而是以一个状态去表示。
    如: 员工离职,账号被锁定等都应该是一个状态字段,此种场景不应使用逻辑删除。

    若确需查找删除数据,如老板需要查看历史所有数据的统计汇总信息,请单独手写sql。

  • 相关阅读:
    POJ 1251 Jungle Roads
    1111 Online Map (30 分)
    1122 Hamiltonian Cycle (25 分)
    POJ 2560 Freckles
    1087 All Roads Lead to Rome (30 分)
    1072 Gas Station (30 分)
    1018 Public Bike Management (30 分)
    1030 Travel Plan (30 分)
    22. bootstrap组件#巨幕和旋转图标
    3. Spring配置文件
  • 原文地址:https://www.cnblogs.com/DoNetCShap/p/15719483.html
Copyright © 2020-2023  润新知