美文网首页
mybaties 多模块开发,Invalid bound sta

mybaties 多模块开发,Invalid bound sta

作者: 今日开发技巧分享 | 来源:发表于2023-02-16 18:17 被阅读0次

    mybaties 多模块开发,mapp.xml扫描问题

    背景

    在很多时候,为了让我们的系统更加简洁,以及更好的开发分工,跟业务的解耦,在开发的过程中,我采用多模块去开发,那么在某个应用引入多模块的时候,就会碰到无法扫描到某些模块中的/resource/mapper.xml 的配置文件映射。

    下面我就说说我在使用spring boot 多模块开发式遇到的这个问题以及解决办法。

    问题描述

    现在我有 cms-service、order-service、app-web 三个模块,各个模块中在/resource/mapper/的目录下都有mybaties的文件映射。

    spring boot application.yml 的配置内容如下:

    mybatis:
      mapper-locations: classpath:mapper/*Mapper.xml
    

    项目启动后,调用api 请求进行数据库操作(CURD),这时候,mybaties 抛了个异常。

    异常信息如下:

    Invalid bound statement (not found): com.xxx.cms.mapper.ArticleMapper.add
    

    抛出异常后,我第一件事就认为是没有指定mapper.xml 路径,但是我看配置文件的时候,没发现什么大问题, classpath:mapper/*Mapper.xml,但是为什么没扫描到呢?

    解决问题

    原来这个配置,应用只会扫描自己目录下的配置,而不会扫描其他的应用的配置,那么我把配置改成:

    mybatis:
      mapper-locations: classpath*:mapper/*Mapper.xml
    

    问题解决。

    相关文章

      网友评论

          本文标题:mybaties 多模块开发,Invalid bound sta

          本文链接:https://www.haomeiwen.com/subject/zxhyyctx.html