轻松解决org.apache.ibatis.binding.Bi
2019-06-30 本文已影响0人
java迷途小菜鸡
前两天笔者用IDEA在做springboot一个小的demo的时候,发现自己的mapper.xml文件竟然不起作用!跳出如下错误(捕获错误的样式是之前设置过的):
系统出现了异常,异常原因是: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.lq.springboot.mapper.CategoryMapper.findAll
出现异常的地址是:http://localhost:8080/listCategory
于是网上一顿搜索,发现可能是以下的原因所致:
一般的原因
Mapper interface和xml文件的定义对应不上,需要检查包名,namespace,函数名称等能否对应上。
按以下步骤一一执行:
1、检查xml文件所在的package名称是否和interface对应的package名称一一对应
2、检查xml文件的namespace是否和xml文件的package名称一一对应
3、检查函数名称能否对应上
4、去掉xml文件中的中文注释
5、随意在xml文件中加一个空格或者空行然后保存
但是竟然都不起作用!崩溃!终于在一篇帖子里看到了想要的答案,在使用IDEA开发时,如果打包时*Mapper.xml没有自动复制到class输出目录的mapper类包下,则需要在pom文件中添加mybatis加载配置文件的配置! 如下所示:
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
捕获.JPG
最后就大功告成啦!
捕获1.JPG由衷感谢度娘上的大佬提供的技术支持!