MyBatisPlus(3):常用配置

在上一篇文章中提到了我们可以通过注解的方式来对MyBatisPlus框架的一些对应规则配置信息进行设置(MyBatisPlus(2):常用注解),但是MyBatisPlus框架是在MyBatis框架上进行封装的,所以说和MyBatis框架一样,也支持通过配置文件的方式进行配置:MyBatisPlus框架的配置项完全继承了MyBatis框架的原生配置并且在此基础上增加了一些自己特有的配置项。

常用配置

我们使用SpringBoot框架进行项目开发,就可以非常便捷的在application.yml文件中对MyBatisPlus框架进行配置,这和配置MyBatis框架的方式是一模一样的 。以下是一个常见的MyBatisPlus框架的配置文件:

yaml 复制代码
mybatis-plus:
  # 指定 Mapper XML 文件路径(若使用 XML)
  mapper-locations: classpath*:/mapper/**/*.xml
  # 实体类别名扫描包(简化 XML文件 中 resultType 书写)
  type-aliases-package: com.wzb.pojo
  configuration:
    # 开启下划线转驼峰命名法
    map-underscore-to-camel-case: true
    # 显示 SQL 日志(便于调试)
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    # 指定默认使用的Enum处理器
    default-enum-type-handler: com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler
  # 全局配置
  global-config:
    # 数据库配置
    db-config:
      # 使用雪花算法生成id
      id-type: assign_id
      # 删除策略改为逻辑删除
      logic-delete-field: deleted

我们可以从这个文件中看到MyBatisPlus框架中支持的配置项相当的多,从文件路径命名方法处理器选择id生成策略删除策略......基本上涵盖了开发中可能碰到的的问题(还有大部分配置没有列出)。这里选择几个比较常用的配置进行讲解。

mapper-locations

mapper-locations是一个使用非常广泛的配置项目,因为在进行数据查询的时候,经常需要进行复杂的多表联合查询 ,而MyBatisPlus框架对于多表联查的支持并不是很好,所以说在进行这样的复杂查询的时候还是需要我们自己在mapper.xml文件中自己编写SQL语句进行查询,而mapper-locations就是用来配置mapper.xml文件路径的配置项,mapper-locations确保MyBatisPlus框架能扫描到这些文件。

map-underscore-to-camel-case

map-underscore-to-camel-case配置项的使用场景更是相当的广泛,在MyBatis框架中就已经进行了大量的使用,这是因为在Java代码中我们按照开发规范需要使用驼峰命名法,而在数据库表中的字段按照规范需要使用下划线命名法这就会导致Java中的实体类属性和数据库表中的字段无法对应 。而将map-underscore-to-camel-case配置为true,就会自动开启下划线命名法转驼峰命名法,这样就可以让实体类属性和数据库表字段自动产生对应关系 ,简化开发。map-underscore-to-camel-case配置项建议一直配置为true

log-impl

log-impl是一个用于指定MyBatis框架内部使用的日志框架的实现类的配置项 ,这个配置项可以告诉MyBatis框架需要使用哪一个日志框架输出SQL日志,输出SQL日志之后可以便于我们发现错误,从而便于调试。假如没有配置log-imol,则MyBatis框架会按照以下顺序自动寻找可用日志框架:SLF4J → Apache Commons Logging → Log4j2 → Log4j → JDK Logging ,但是当开发环境中存在多个日志框架时,就建议配置log-impl,否则自动寻找可能不符合预期,甚至可能导致冲突。

id-type

上文提到,我们可以通过@TableId注解指定id的生成策略(MyBatisPlus(2):常用注解),但我们也可以在配置文件中通过id-type配置项指定id的生成策略,这些策略和@TableId注解中支持的策略完全一致 ,当id-type配置项和@TableId注解同时存在,并且指定的策略不同时,会优先使用注解指定的策略 。推荐在配置文件中通过id-type指定全局的id生成策略,并通过@TableId注解对特殊的数据库表进行局部配置。

总结

本文主要介绍了MyBatisPlus框架的配置文件,MyBatisPlus框架的配置项完全继承了MyBatis框架的原生配置并且在此基础上增加了一些自己特有的配置项 。在实际开发中推荐将配置文件和注解结合使用,通过配置文件进行一些全局的配置,再通过注解的方式对于一些特殊表、特殊字段进行局部配置 ,二者相结合进行开发能够更好的提高效率,便于开发。到这里,关于MyBatisPlus框架的快速入门就完成了,已经可以简单的使用MyBatisPlus框架进行开发了,但是MyBatisPlus框架的核心功能远不止这些,且听下回分解。

相关推荐
一 乐11 小时前
幼儿园管理系统|基于springboot + vue幼儿园管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·幼儿园管理系统
Bat U11 小时前
JavaEE|SpringMVC
java·java-ee
摇滚侠11 小时前
SpringMVC 入门到实战 SpringMVC 的执行流程 96
java·后端·spring·maven·intellij-idea
唐青枫11 小时前
Java Liquibase 实战指南:让数据库变更像代码一样可追踪
java
qq_4221525711 小时前
PDF 解密工具怎么选?2026 年文档密码移除方案与注意事项
java·前端·pdf
布朗克16811 小时前
38 Spring Boot入门——自动配置、核心注解与Starter机制
java·spring boot·后端
程序员老申11 小时前
外呼突然全挂了,追查 24 分钟后我发现了 etcd 最阴的一颗雷
后端·程序员
何以解忧,唯有..11 小时前
Go语言变量的声明方式详解
开发语言·后端·golang
长栎11 小时前
MyBatis 缓存为啥总是失效?装饰器模式套娃的代价
后端
bright_ye11 小时前
setjmp & longjmp 深度详解 + 代码示例
后端