异常信息如下:
出现问题的原因:
- 检查xml文件的namespace是否正确
- Mapper.java的方法在Mapper.xml中没有,然后执行Mapper的方法会报错。
- xxxMapper.java的方法返回值是List,而select元素没有正确配置ResultMap,或者只配置ResultType
- 检查配置文件是否配置了 mybatis.mapper-locations= classpath:xxx/*.xml。
而我的问题是:
我的xml文件写在了java目录里面。
这样会出现一个问题,即使配置了 mybatis.mapper-locations= classpath:xxx/*.xml,也没有用,因为编译的时候这个xml文件并没有被自动拉到target里面,毕竟编译的是.java文件而不是xml嘛,所以这时候应该在pom文件里面加上:
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.yml</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
然后重启项目,再次访问接口,可以发现问题就解决了。