BindingException: Invalid bound statement (not found)


mybatis中dao接口与mapper配置文件映射绑定失败,即dao层接口与xml文件方法匹配不到。

 常见原因可能有:

1. mapper.xml的namespace是否对应接口类的全名,必须完全一致。

namespace="com.blog.dao.mapper.ArticleMapper"

2.  mapper接口类的方法名是否与mapper.xml中sql标签的id相同

3. 当方法的返回值是resultMap时,需要使用resultMap,而不用resultType

<select id="listArticle" resultMap="articleMap">
        select * from ms_article
select>

4. 查看mapper的XML配置路径是否正确,否则扫描不到mapper类

非常有可能是你不小心写错了一个字母。但是以上方法我都试过了都没有解决,最后发现我报异常的原因是我的mapper接口类和mapper.xml包名不一致

映射错误的原因是我创建文件夹的时候是以com.blog.dao.mapper的方式,然后文件夹名称就直接叫这个了,而不是一层一层创建,创建方式使用com/blog/dao/mapper就可以了。