一、问题描述
当我们想把公有部分的mapper抽出去的时候可能遇到以下问题
1. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
2. 公有模块Mapper无法注入到别的模块的问题
二、问题1解决办法
- 检查mapper与xml文件对应与配置是否匹配
修改yml的mybatis配置
mybatis: mapperLocations: classpath:mapper/*.xml # 改为扫描全部导入模块 mapperLocations: classpath*:mapper/*.xml
Maven配置
# 如果上边还没解决可以尝试增加maven配置 <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> <resource> <directory>src/main/resources</directory> </resource> </resources> </build>
三、Mapper无法注入解决
//这很有可能是因为包扫描问题导致,各个模块的mapper之前的包名不一样。 //解决:在引用公有包的启动类上加 @MapperScan({"xxx.business.mapper","xxx.common.mapper"}) //将所有的不一样的都扫描进去
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。