这个问题好奇怪,
出现这个错误是通用Mapper初始化的错误,排查的方向就是往这个方向,可能的情况有以下几种: 1.jar包冲突 <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper</artifactId> <version>3.3.9</version> </dependency> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>2.0.0</version> </dependency> 如图所示这里有两个tk.mybatis通用Mapper的包了,所以springboot不知道该初始化哪个 <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>2.0.0</version> </dependency> 这里使用这个包,重启后运行正常 2,MapperCan 扫包配置错误 @SpringBootApplication @MapperScan(basePackages = "com.example.demo.*.dao") @ComponentScan("com.example.demo.*") public class DemoApplication extends SpringBootServletInitializer{ 之前配置的是 @MapperScan(basePackages = "com.example.demo.*.dao") 应该改成 @MapperScan(basePackages = "com.example.demo.*.dao.*") 我思考了以下应该是扫包的话是扫很多个包,所以应该是以*结尾的 这样重启后正常 --------------------- 作者:跃跃的呢 来源:CSDN 原文:https://blog.csdn.net/y2446421841/article/details/80566082 版权声明:本文为博主原创文章,转载请附上博文链接!
看起来好像BaseSelectProvider 需要一个无参的构造器,但是查看了BaseSelectProvider源码,确实是没有的,怎么办呢? 感觉好像是版本问题,
尝试导入:
import tk.mybatis.spring.annotation.MapperScan;
但是没有这个类,只有另外的一个,但是 那个恰恰是 好像是错误的根源。
<dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <!--<version>1.1.5</version>--> <version>2.0.0</version> </dependency>
后面把版本从1.1.5 改成了 2.0.0 就好了, 奇怪了。
https://www.jianshu.com/p/71fe3b73479c
https://blog.csdn.net/Dongguabai/article/details/80729563