1.mapper.xml namespace不对
2.mapper接口中定义的方法在mapper.xml中没有,然后又调用了这个方法
3.mapper中定义的方法返回值是List<泛型>,而select元素没有正确配置ResultMap,或者只配置ResultType
4.如果是springboot的整合,要注意application.yml中mybatis下的路径,额外注意application中区分大小写!
5.如果没有在pom.xml 中编辑
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
在IDEA中mapper.xml默认在resources目录下,且文件目录与esclipse有所区别,但如果改了就是在<directory>标签下找
原因:
如果没有指定resources,目前认为自动会将classpath下的src/main/java下的.class文件和src/main/resources下的.xml文件放到target里头的classes文件夹下的package下的文件夹里。如果设定了resources,那么默认的就会失效,就会以指定的includes和excludes为准。例如,为了使打包的jar包里头包含.java源文件。
如果是这个错,请检查下target目录
6.玄学解决法? 如果你确认没有以上问题,请任意修改下对应的xml文件,比如删除一个空行,保存.问题解决…