通用Mapper报错: tk.mybatis.mapper.provider.base.BaseSelectProvider.<init>()

出现这个错误是通用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.*")

我思考了以下应该是扫包的话是扫很多个包,所以应该是以*结尾的

这样重启后正常


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章