解决 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)错误
·
在项目开发过程中,遇到 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)错误。
总结原因是因为 扫描不到 xxx.xml 文件
对于这个错误,我总结了以下三种情况,希望对您有所帮助。
情况 1. idea的编译问题
idea有的时候没有编译生成相应的xml。在idea 项目的 target/classes 下面没有找到对应的 mapper.xml文件。
说明项目没有编译,依次点击 build --> rebuild project。
编译完成将会出现xml文件
情况 2. xxx.xml 文件没有按照传统的maven架构进行放置
在构建工程的时候,如果我们的 ×××.xml 文件没有放到 src/main/resources 下面,是不会被maven build plugin给默认扫描到的。此时需要在 pom文件的 build 标签里面加入:
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
情况 3. 代码层面的问题
主要检查包名,namespace,方法名等能否对应上。开发过程中有时候敲错一个字母都有问题,需要认真的检查。对于这块地方,建议粘贴复制,不要自己手敲。
1.xml 文件中是有中文注释,有的话全部删除
2. xml 的文件名 是否与 dao 接口名保持一致
3. 检查 xml 文件的 namespace 是否和 dao 接口的包名称对应
4.检查 xml 文件里面的 id 是否和 dao 接口的方法名是否一致
5. 架构层面的错误
配置文件里面,在spring与mybatis整合,以及扫描dao层中的java接口类的时候,路径是否正确。
更多推荐
已为社区贡献3条内容
所有评论(0)