mybatis常见报错之(Invalid bound statement (not found)
描述:
出现这种报错的情况很多,下面我们来详细分析以下五种常见情况。
-
情况一:检查xml文件所在package名称是否和Mapper interface所在的包名
<!--mapper的namespace写的与实际路径不符合的!注意系修改。--> <mapper namespace="me.tspace.pm.dao.UserDao">
-
情况二:DAO实现 的方法在XXX.xml中没有,然后执行DAO的方法会报此错误。
-
情况三:DAO的方法返回值是List
,而mapper标签没有正确配置ResultMap,或者只配置ResultType! -
情况四:如果你确认没有以上问题,请任意修改下对应的xml文件,比如删除一个空行然后保存再试一下
-
情况五:看一下项目的配置文件中是否配置了mapper的XML路径,如果配置了再看一下配置的是否正确
-
情况六:当以上几种可能都正确的情况下,看一看编译器的target目录下编译好的的class文件,看一看mapper
文件夹下是否有xxxmapper.XMl文件编译进来。在以上五种情况都满足的情况下应该就是这个问题了
(IDE不加载xxx.XML文件)
<!-- 解决办法:在你IDE的pom文件中添加以下代码,然后使用maven的clean工具清除class代码重新运行 --> <build> <resources> <!-- mapper.xml文件在java目录下 --> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> <!-- mapper.xml文件在resources目录下--> <resource> <directory>src/main/resources</directory> </resource> </resources> </build>
安然相对不惊飞