一、问题形容
当咱们想把私有局部的 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"}) // 将所有的不一样的都扫描进去
-