MyBatisPlus(3):常用配置

1 阅读4分钟

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

常用配置

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

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