MyBatis-Plus配置之 —— 配置冲突
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 文件。
- 当你同时配置了

浙公网安备 33010602011771号