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框架的核心功能远不止这些,且听下回分解。

相关推荐
IT_陈寒5 分钟前
SpringBoot 3.2新特性实战:这5个隐藏功能让开发效率翻倍🚀
前端·人工智能·后端
IT_陈寒12 分钟前
Vue3性能优化实战:这5个技巧让我的应用加载速度提升70% 🚀
前端·人工智能·后端
天天摸鱼的java工程师14 分钟前
别再写那些重复代码了!8年Java老兵教你用 Hutool 提升开发效率
java·后端
喝杯绿茶15 分钟前
springboot中的事务
java·spring boot·后端
昨天的猫17 分钟前
原来项目中的观察者模式是这样玩的
后端·设计模式
麦兜*19 分钟前
多阶段构建:打造最小化的 Spring Boot Docker 镜像
java·spring boot·后端·spring cloud·docker
RustCoder20 分钟前
Rust 1.91 发布:ARM Windows 正式跻身顶级支持,悬空指针警告上线
后端·性能优化·rust
用户83562907805120 分钟前
Python创建PDF文档:解锁高效PDF创建的能力
后端·python
golang学习记26 分钟前
FastAPI + SQLModel 实战:一个模型搞定数据库与 API
后端
oak隔壁找我28 分钟前
Spring Boot Starter 入门教程
java·后端