今天用Mybatis踩到一个比较有意思的坑,找了一天没发现问题在哪儿,我先给大家说说常规的解决方案。
- mybatis的映射文件的命令空间与接口的全限定名不一致;
- 有可能mybatis的映射文件名字与接口的类名字不一致;
- 还有一种情况就是接口声明的方法在映射文件里面没有。
但是我检查了n遍!n遍!没有一点问题,相当完美,可是就是报错!
结果是因为xml文件没有编译!
编译的时候,放xml的文件夹里面是这样的
可以看到,xml文件并没有编译进去。
我们在pom.xml中加入以下代码
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>${basedir}/src/main/resources</directory>
</resource>
</resources>
</build>
重新编译
xml编译进去了,解决问题