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

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

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题,即在mybatis中dao接口与mapper配置文件在做映射绑定的时候出现问题。简单来说,就是接口与xml要么是找不到,要么是找到了却匹配不上。

调试项目的时候这个也解决了很长时间,现把这类问题搜索到的一些解决办法进行总结,如下。
可能导致的原因及解决的参考

  1. xml中的namespace与接口的全名是否一致。(接口名与文件名不需要一模一样,只要xml的namespce与接口全名对应就可以)检查namespace与所实现接口所在目录是否一致
  2. 若Dao层中的接口有方法在相对应的xml文件中没有实现,在执行Dao的方法时会报错,在检查的时候要仔细些。
  3. 在Dao层中的方法在对应xml文件中的方法名是否对应,即xml标签中的id是否与Dao层中所实现的方法名对应。方法名是否对应
  4. xml文件中的方法的返回值(resultType)和参数名称(parameterType)是否与Dao层中方法对应。在这里插入图片描述
  5. 查看关于mybits的xml配置的路径是否正确。在这里插入图片描述在这里插入图片描述
  6. **若以上都没有问题!**可在pom.xml中加入以下配置:(
    有同样效果办法是在将xml文件放在resource目录下,配置对应目录结构,IDEA默认是不会读取在src/main/java目录下的xml文件的!)
<build>      
    <resources>          
        <resource>               
            <directory>src/main/java</directory>               
            <includes>                   
                <include>**/*.xml</include>            
            </includes>
        </resource>
    </resources>
</build>
  1. 还可以检查相对应的xml文件中是否有空行,删除空行,再保存,可解决问题!
  2. 如果你的pom里面包含mybatis-plus,记得要配置mybatis-plus.mapper-locations,只有mybatis.mapper-locations不起作用。
  3. 还有可能是maven仓库的jar包冲突问题。

参考文章:解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题
以上就是总结的一些办法,若是有错误的地方或者是不全面的地方欢迎留言。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值