在使用通用Spring Boot+Mapper高版本时候存在的扫描不到包的问题报错tk.mybatis.mapper.provider.base.BaseSelectProvider。
版本号:
Spring Boot 2.2.1
通用Mapper3.3.9
问题:
Spring Boot的Pom文件导入如下依赖:
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>3.3.9</version>
</dependency>
扫描包时,无法引入 tk.mybatis.spring.annotation.MapperScan
只能引入如下普通方式配置的扫描
当导入以下依赖时:
<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>1.2.3</version>
</dependency>
才可以导入通用Mapper的扫描方式
程序才可以正常通过通用Mapper的形式运行。
解决方法:
1.使用tk包下的MapperScan扫描(必须引入低版本依赖,否则高版本的tk包中没有MapperScan这个类)
2.放弃高版本的Mapper或者两个版本 的Mapper一起导入即可解决问题
3.扫描包的时候将MapperScan改为导入tk包下的MapperScan,不可以写两个MapperScan