问题概述
关于这个问题,博主是在团队成员搭建基础框架的时候遇到的,协助团队成员解决,这儿记录下来仅供参考,
基础架构搭建,接口链路调用时,
程序报错:“ org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxx.xxx ”
如下图:
前端调用失败;
后端异常:
解决办法
关于这个问题,根据提示信息可知,是因为在MyBatis-Plus持久化框架使用中,Mapper.java与Mapper.xml绑定失败导致的,
在进行业务操作,如果业务调用流转不到Mapper.xml中是不会报错的,如果调用链一但流转到Mapper.xml,就找不到相应的绑定关系了,
导致绑定的失败的这个问题的原因有几种,分以下4步走排查:
第一步:首先排除项目构建的问题
因为一般大多数情况下,如果前面项目是可以正常运行的,在新增了一个业务映射之后,这种情况下可能是开发工具自身的构建问题,先Maven Clean,然后再Maven Install,
如果还不行,再往下走,
第二步:命名空间指向的Mapper.java相对路径是否正确
如下图:
关于这个相对路径,可以在需要绑定的Mapper.java类上点击->右键,选择Copy Reference,
第三步:方法名映射
确保Mapper.java与Mapper.xml中对应的方法名对应一致正确,
如下图:
第四步:Mapper.xml是否被打包进target的下面
自行打开target目录下的classes>mapper下面是否有相应的Mapper.xml,如果没有,
请参考:
《Invalid bound statement 无效的绑定 的解决办法》
第五步:检查MyBatis-Plus的配置映射地址(博主遇到的就是这个配置映射地址错了)
这个要特别注意的,如果配置了所有的Mapper.xml都访问不到,
修改如下:
根据以上的步骤排查,解决完成后就可以正常的访问接口了,如下图:
好了,关于 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxx.xxx 的解决办法 就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。
歇后语:“ 共同学习,共同进步 ”,也希望大家多多关注CSND的IT社区。
作 者: | 华 仔 |
联系作者: | who.seek.me@java98k.vip |
来 源: | CSDN (Chinese Software Developer Network) |
原 文: | https://blog.csdn.net/Hello_World_QWP/article/details/126713075 |
版权声明: | 本文为博主原创文章,请在转载时务必注明博文出处! |