MybatisPlus之逻辑删除的坑

原创
2020/07/03 14:59
阅读数 8.9K

Springboot的配置方式

#mybatis 配置文件映射
mybatis-plus:
  mapper-locations: classpath:/mapper/*Mapper.xml
  typeAliasesPackage: com.siyuan.card.model
  # 以下配置均有默认值,可以不设置
  global-config:
    db-config:
      #主键类型 AUTO:"数据库ID自增" INPUT:"用户输入ID",ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
      id-type: auto
      #字段策略 IGNORED:"忽略判断"  NOT_NULL:"非 NULL 判断")  NOT_EMPTY:"非空判断"
      field-strategy: NOT_EMPTY
      #数据库类型
      db-type: MYSQL
      # 逻辑已删除将删除标志字段deleted置为1
      logic-delete-value: 1
      # 逻辑未删除将删除标志字段deleted置为0
      logic-not-delete-value: 0

在MybatisPlusConfig中新增bean(3.1.1以下)

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 MybatisPlusConfig {

    @Bean
    public ISqlInjector sqlInjector() {
        return new LogicSqlInjector();
    }
}

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

/**
 * 是否删除(1-删除,0-未删除)
 */
@TableLogic
@TableField(value = "isDelete")
private Integer isDelete;

调用mybatisPlus的删除方法

@PostMapping("/deleteUser")
public  ResponseData deleteUser(String Id){
    boolean flag= iUserService.removeById(Id);
    ResponseData result = null;
    if(flag){
        result=ResponseDataUtil.buildSuccess();
    }else {
        result=ResponseDataUtil.buildError();
    }
    return result;
}

进数据库找到一条测试数据,删除标识为0的

然后现在进行postman的调用

再去查看数据库的这条数据

展开阅读全文
加载中

作者的其它热门文章

打赏
0
1 收藏
分享
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部