本文介绍: mybatis–plus异常记录:org.apache.ibatis.binding.BindingException Invalid bound statement。1、在mybatis框架下,主要需要保证2点:- Mapper所对应的XML文件的位置要通过`mapper–locations`属性配置正确 – Mapper接口需要通过`@MapperScan`或`@Mapper`注入到Spring容器中2、注意mybatis框架和mybatis–plus配置项的区别……
问题描述
我们在使用mybatis或mybatis–plus作为持久化框架的时候,通过dao层接口调用xml中配置好的sql时,常常会遇到org.apache.ibatis.binding.BindingException Invalid bound statement
的问题。
异常简单来说:就是无效的sql绑定,即通过dao层接口的方法名称没有找到对应的sql语句
。
在百度上查询的文章中发现大家对该问题的解决和总结都非常片面,不够全面。
所以分享下自己对该问题的解决思路。
项目环境
解决方案:
1、检测mapper–locations配置项是否正确
mapper–locations配置项是用来告诉Mapper所对应的XML文件的位置。
如果该文件位置配置错误,那么其他内容配置再怎么正确,依然会报错。
这也是该异常最重要又最容易
被忽略的一个原因。
另外,由于Mapper所对应的XML文件属于静态文件资源,所以一定要存放在resoureces目录
。
2、检测是否主动配置过SqlSessionFactory对象
3、检测dao层接口是否注入spring容器
4、检测xml文件中namespace是否配置正确
5、检测dao层接口的方法名和sql的id是否匹配
6、检测resultType和resultMap的配置
总结
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。