org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxx.xxx 的解决办法

问题概述

关于这个问题,博主是在团队成员搭建基础框架的时候遇到的,协助团队成员解决,这儿记录下来仅供参考,

基础架构搭建,接口链路调用时,

程序报错:“ 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社区。


作       者: 华    仔
联系作者: [email protected]
来        源: CSDN (Chinese Software Developer Network)
原        文: https://blog.csdn.net/Hello_World_QWP/article/details/126713075
版权声明: 本文为博主原创文章,请在转载时务必注明博文出处!

猜你喜欢

转载自blog.csdn.net/Hello_World_QWP/article/details/126713075
今日推荐