一、问题描述

当我们想把公有部分的mapper抽出去的时候可能遇到以下问题

1. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

image.png

2. 公有模块Mapper无法注入到别的模块的问题

二、问题1解决办法

    1. 检查mapper与xml文件对应与配置是否匹配
    1. 修改yml的mybatis配置

      mybatis:
        mapperLocations: classpath:mapper/*.xml
      # 改为扫描全部导入模块
        mapperLocations: classpath*:mapper/*.xml
    1. 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"})
      //将所有的不一样的都扫描进去
      

深蓝
1 声望0 粉丝

« 上一篇
微博热榜爬虫
下一篇 »
Nginx基础笔记