我的Mapper动态代理是使用的包扫描的方式
这就需要我们去注意一些基本的事项:
- *Mapper.java 和 *Mapper.xml 命名是否一致
- 是否在一个包下,扫描能不能扫到 .xml。
- *Mapper.xml 的 namespace 配置是否准确,接口方法名是否准确。
检查完这些基本问题后如果依然报错的话解决办法如下:
- 删除编辑后的文件 class,然后
Rebuild
在运行。 - 如果上面方法不行,仔细找找在编译后的classes 中 *Mapper.xml 生成了没,如果没 那一定有问题。
这个错误也浪费了我很多时间,心态有点爆炸。去百度发现,IDEA这个工具默认是不编译 src\main\java下的xml文件!!!
有点坑啊,我也是最近才接触IDEA。废话不说,我们需要在pom.xml中加入以下配置。
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
这样我的错误就解决了。