总结原因是 扫描不到 xxx.xml 文件,或项目打包的时候没有打包进去。 多半是以下三种情况:
情况 1. idea的编译问题
idea有的时候没有编译生成相应的xml。在idea 项目的 target/classes 下面没有找到对应的 mapper.xml文件。说明项目没有编译,依次点击 build --> rebuild project。
情况 2. xxx.xml 文件没有按照传统的maven架构进行放置
如果我们的 ×××.xml 文件没有放到 src/main/resources 下面,是不会被maven build plugin给默认扫描到的。此时需要在 pom文件的 build 标签里面加入依赖。
情况 3. 代码层面的问题
主要检查包名,namespace,方法名等能否对应上。
这块地方,建议粘贴复制,不要自己手敲。
1.xml 文件中是有中文注释,有的话全部删除
2. xml 的文件名 是否与 dao 接口名保持一致
3. 检查 xml 文件的 namespace 是否和 dao 接口的包名称对应
4.检查 xml 文件里面的 id 是否和 dao 接口的方法名是否一致
5. 架构层面的错误,配置文件里面,在spring与mybatis整合,以及扫描dao层中的java接口类的时候,路径是否正确。