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
  • 总结。文档中没有讲怎么在业务逻辑中忽略使用逻辑删除避免每次查询都会默认带着逻辑删除查询条件,很头疼。暂使用去除注解的方式避免逻辑删除副作用。
相关推荐
code2cat17 小时前
Java进阶篇之AtomicMarkableReference:引用还在,标记已经改变
java·开发语言·cas·并发编程·逻辑删除
她说彩礼65万17 小时前
C语言 堆区和栈区
java·linux·c语言
Zguigo18 小时前
【CUDA8】第一个CUDA C++ Kernel --vector add
java·开发语言·c++
一技安身18 小时前
【java】JDK8 + JDK17 绿色解压共存方案-全程不修改任何系统环境变量
java·开发语言
java、iOS、Vue19 小时前
Maven antrun vs Jenkins 脚本组装 deb的优缺点、适用场景
java·jenkins·maven
hudd66819 小时前
JavaEE 初阶 - 多线程(初阶)
java·开发语言·java-ee
CarIise19 小时前
Java实训阶段查漏补缺复习笔记2
java·linux·算法
Wang's Blog19 小时前
Java框架 SpringCloud 快速入门: Feign 的性能优化
java·spring cloud·性能优化
蛋蛋的就会顺顺的20 小时前
hot100——二叉树
java·数据结构·算法·leetcode·力扣
打工仔折腾 AI20 小时前
System Prompt 替代 Few-shot:用规则约束大模型输出的省钱实践
java·人工智能·python·spring·langchain·prompt·ai agent 实战