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>
    
posted @ 2019-02-26 14:33  lyhItboy  阅读(4356)  评论(1编辑  收藏  举报