我的UserMapper文件在FrameWork模块下,是一个公共模块,没有启动类,然而我在后台管理模块想要测试它获取数据的情况就出现这个异常了。
先是排查实体类与xml文件的映射关系问题、命名空间等,都没有发现有任何问题,最后想到的是跨模块下的引用问题,在后台管理模块并没有扫另一个模块——FrameWork模块下的mapper文件,所以就出现了这个异常。
解决方法就是配置扫包了。
解决方法有两个:
- 在我的MyBatis Plus下配置扫包规则(路径)
- 在properties文件配置mapper的classpath。
第一种:在我的MyBatis Plus 配置类下使用注解@MapperScan进行配置。
@MapperScan("com.panda.mapper")
@Configuration
public class MybatisPlusConfig {
/**
* @Author: panda
* @Date: 2022-05-18 15:04
* @Description: mybatis-plus分页配置 copy
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return mybatisPlusInterceptor;
}
}
第二种:就是在FrameWork的properties文件配置mapper包的路径,如:
mapper-locations: classpath*:/mapper/*Mapper.xml
classpath后加一个 *
两个方法都试过,但是建议用第一个,第二个会把其他不是我想要的文件都扫进来,比如目录下的jar包。