前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决问题:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

解决问题:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

作者头像
Vincent-yuan
发布2021-11-02 14:54:01
17.4K0
发布2021-11-02 14:54:01
举报
文章被收录于专栏:Vincent-yuanVincent-yuan

在使用springboot集成mybatis时,可能会遇到这个问题。

出现这个问题的原因一般是:

  • Mapper interface和xml文件的定义对应不上(需要检查包名,namespace)
  • 函数名称等能否对应不上(需要比较细致的对比,经常就写错了一两个字母搞的很长时间找不到错误)

解决的思路一般是:

  • 检查xml文件所在的package名称是否和interface对应的package名称一一对应
  • 检查xml文件的namespace是否和xml文件的package名称一一对应
  • 检查函数名称能否对应上
  • 去掉xml文件中的中文注释
  • 随意在xml文件中加一个空格或者空行然后保存

如果上面的检查过都没有问题,那么可以试下下面操作: 因为它可能是因为 xml文件的编译问题。 可以对比下编译前和编译后的文件。

确定是 没有将xml文件编译进去,那怎样解决呢?

  • 解决方式一:把*Mapper.xml文件放到resource文件夹下管理
  • 解决方式二:在pom.xml中的build的标签中加入以下内容:
代码语言:javascript
复制
<resources>
    <resource>
        <directory>src/main/java</directory>
        <includes>
            <include>**/*.xml</include>
        </includes>
        <filtering>true</filtering>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
        <includes>
            <include>**/*.xml</include>
            <include>**/*.properties</include>
        </includes>
        <filtering>true</filtering>
    </resource>
</resources>

参考:https://www.jianshu.com/p/2bd1e5313b66

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-10-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档