关于java:SpringBoot-多模块Mapper问题

一、问题形容

当咱们想把私有局部的mapper抽出去的时候可能遇到以下问题

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

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"})
      //将所有的不一样的都扫描进去
      

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理