在上一篇文章中提到了我们可以通过注解
的方式来对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框架
的核心功能远不止这些,且听下回分解。