SpringBoot2.5x整合mybatis-plus3.5x启动报错setargNameBaseConstructorAutoMapping
时间: 2024-09-12 20:03:44 浏览: 83
mybatis-plus-boot-starter-3.5.3.1.jar
Spring Boot与MyBatis-Plus整合时出现`setargNameBaseConstructorAutoMapping`错误通常是由于Spring Boot版本与MyBatis-Plus版本不兼容导致的。在Spring Boot 2.5.x版本中,可能需要调整MyBatis-Plus的配置以确保兼容性。这个问题可能是由于MyBatis-Plus在初始化时尝试设置参数名的自动映射,而Spring Boot 2.5.x默认使用Java 11,其中已经移除了`-parameters`编译器参数,导致无法正确识别方法参数名。
解决这个问题的一个方法是在`pom.xml`或`build.gradle`文件中添加相应的依赖来启用`-parameters`编译器参数。如果你使用的是Maven,可以在`maven-compiler-plugin`配置中添加如下配置:
```xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version> <!-- 使用适合你项目的版本 -->
<configuration>
<compilerArgument>-parameters</compilerArgument>
<source>1.8</source> <!-- 根据需要调整Java版本 -->
<target>1.8</target> <!-- 根据需要调整Java版本 -->
</configuration>
</plugin>
```
如果你使用的是Gradle,可以在`build.gradle`文件中添加如下配置:
```groovy
tasks.withType(JavaCompile) {
options.compilerArgs << "-parameters"
}
```
此外,确保在`application.properties`或`application.yml`文件中正确配置了MyBatis-Plus的参数,比如数据源和扫描路径等。
如果问题依然存在,请检查`@MapperScan`注解是否正确配置,以及MyBatis-Plus的依赖是否与Spring Boot版本兼容。
阅读全文