[学习记录-MyBatisPlus]MyBatisPlus逻辑删除

MyBatisPlus逻辑删除

  • MyBatisPlus逻辑删除

MyBatisPlus逻辑删除

  • 物理删除:真实删除。将对一个数据从数据库中删除,之后查询不到删除的书。
  • 逻辑删除:假删除。将对应数据中爱表是否被删除字段状态修改为“被删除状态”,只有数据库中仍能看见此条数据。

(1)添加配置

properties

# 逻辑删除配置
mybatis-plus.global-config.db-config.logic-delete-value=1
mybatis-plus.global-config.db-config.logic-not-delete-value=0

yml

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

(2)添加字段

加上@TableLogic注解

@TableLogic
private Integer deleted;

(3)添加插件

 /**
     * 在这个配置类中注入LogicSqlInjector bean对象的原因是:
     * 若mp的版本是3.3.1以下的就需要在此处注入这个bean对象
     * 若mp的版本高于3.3.1的就无需在此处注入bean对象了
     * 我使用的mp的版本是3.1.2,不需在此处注入这个bean对象
     * @return
     */
    @Bean
    private ISqlInjector sqlInjector () {
        return new LogicSqlInjector();
    }

(4)测试

// 逻辑删除查询
@Test
public void logicalDeletion() {
    int number = userMapper.deleteById(29);
    System.out.println("影响条数:"+number);
}

你可能感兴趣的:(MyBatisPlus,mysql)