MyBatis-Plus配置
在 SpringBoot 工程中,当使用 yml 文件为 MyBatis-Plus 添加配置时,可能会出现 “配置冲突” 的问题,即:

配置项如下:
# MyBatisPlus配置
mybatis-plus:configuration:map-underscore-to-camel-case: true #字段与属性,自动转换为驼峰命名# ...configLocation: classpath:mybatis/mybatis-config.xml# 其它配置项
这时因为在 MyBatis-Plus 的配置中,configuration
和 configLocation
不能同时使用,这是因为它们的作用存在冲突。
原因分析:
configuration
:- 该属性用于直接在
application.yml
或application.properties
文件中以键值对的形式定义 MyBatis 的配置项。 - 它允许你通过代码方式动态地配置 MyBatis 的行为,比如是否开启驼峰命名转换(
map-underscore-to-camel-case
)、是否启用延迟加载等。
- 该属性用于直接在
configLocation
:- 该属性用于指定一个外部的 MyBatis 配置文件路径(通常是
mybatis-config.xml
)。 - 外部的 XML 配置文件可以包含更复杂的 MyBatis 配置,例如插件配置、类型别名、环境设置等。
- 该属性用于指定一个外部的 MyBatis 配置文件路径(通常是
- 冲突原因:
- 当你同时配置了
configuration
和configLocation
时,MyBatis-Plus 不知道应该优先使用哪个配置来源。 - 如果使用了
configLocation
,MyBatis 会读取外部的 XML 配置文件,并忽略configuration
中的配置项。 - 反之,如果使用了
configuration
,MyBatis 会基于这些配置项生成内部的配置对象,并忽略configLocation
指定的 XML 文件。
- 当你同时配置了