出现这个错误是通用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.*")
我思考了以下应该是扫包的话是扫很多个包,所以应该是以*结尾的
这样重启后正常