mybatis-plus逻辑删除配置

  • 背景。有些查询和更新不想使用逻辑删除。

  • mybatis-plus 逻辑删除文档

  • 需要自定义配置注解@TableLogic逻辑删除才起作用

  • 在全局配置文件中可以配置哪个字段起作用,就可以不通过上述 的注解配置.

  • yml中关键部分。还有一个字段是logic-delete-field可以定义逻辑删除字段的名称指定字段(但我没有测试如果配置了此字段是否还需要配置注解,应该就可以忽略注解配置了,会有拦截器扫描)


  • yml内容
java 复制代码
mybatis-plus:
  # 不支持多包, 如有需要可在注解配置 或 提升扫包等级
  # 例如 com.**.**.mapper
  mapperPackage: com.**.**.mapper
  # 对应的 XML 文件位置
  mapperLocations: classpath*:mapper/**/*Mapper.xml
  # 实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: com.ruoyi.**.domain,com.help.**.domain
  # 启动时是否检查 MyBatis XML 文件的存在,默认不检查
  checkConfigLocation: false
  configuration:
    # 自动驼峰命名规则(camel case)映射
    mapUnderscoreToCamelCase: true
    # MyBatis 自动映射策略
    # NONE:不启用 PARTIAL:只对非嵌套 resultMap 自动映射 FULL:对所有 resultMap 自动映射
    autoMappingBehavior: PARTIAL
    # MyBatis 自动映射时未知列或未知属性处理策
    # NONE:不做处理 WARNING:打印相关警告 FAILING:抛出异常和详细信息
    autoMappingUnknownColumnBehavior: NONE
    # 更详细的日志输出 会有性能损耗 org.apache.ibatis.logging.stdout.StdOutImpl
    # 关闭日志记录 (可单纯使用 p6spy 分析) org.apache.ibatis.logging.nologging.NoLoggingImpl
    # 默认日志输出 org.apache.ibatis.logging.slf4j.Slf4jImpl
    logImpl: org.apache.ibatis.logging.slf4j.Slf4jImpl
  global-config:
    # 是否打印 Logo banner
    banner: true
    dbConfig:
      # 主键类型
      # AUTO 自增 NONE 空 INPUT 用户输入 ASSIGN_ID 雪花 ASSIGN_UUID 唯一 UUID
      idType: ASSIGN_ID
      # 逻辑已删除值
      logicDeleteValue: "1"
      # 逻辑未删除值
      logicNotDeleteValue: "0"
      # 字段验证策略之 insert,在 insert 的时候的字段验证策略
      # IGNORED 忽略 NOT_NULL 非NULL NOT_EMPTY 非空 DEFAULT 默认 NEVER 不加入 SQL
      insertStrategy: NOT_NULL
      # 字段验证策略之 update,在 update 的时候的字段验证策略
      updateStrategy: NOT_NULL
      # 字段验证策略之 select,在 select 的时候的字段验证策略既 wrapper 根据内部 entity 生成的 where 条件
      where-strategy: NOT_NULL
  • 总结。文档中没有讲怎么在业务逻辑中忽略使用逻辑删除避免每次查询都会默认带着逻辑删除查询条件,很头疼。暂使用去除注解的方式避免逻辑删除副作用。
相关推荐
我真的是大笨蛋8 小时前
K8S-Pod(下)
java·笔记·云原生·容器·kubernetes
碳水加碳水8 小时前
Java代码审计实战:XML外部实体注入(XXE)深度解析
java·安全·web安全·代码审计
努力也学不会java9 小时前
【设计模式】 原型模式
java·设计模式·原型模式
方渐鸿9 小时前
【2024】k8s集群 图文详细 部署安装使用(两万字)
java·运维·容器·kubernetes·k8s·运维开发·持续部署
学亮编程手记9 小时前
K8S v1.33 版本主要新特性介绍
java·容器·kubernetes
Haven-11 小时前
Java-面试八股文-JVM篇
java·jvm·面试
我真的是大笨蛋11 小时前
JVM调优总结
java·jvm·数据库·redis·缓存·性能优化·系统架构
wjs04011 小时前
Git常用的命令
java·git·gitlab
superlls11 小时前
(算法 哈希表)【LeetCode 349】两个数组的交集 思路笔记自留
java·数据结构·算法
田里的水稻12 小时前
C++_队列编码实例,从末端添加对象,同时把头部的对象剔除掉,中的队列长度为设置长度NUM_OBJ
java·c++·算法