mybatis常见报错之(Invalid bound statement (not found):)!!

廉价感情. 提交于 2020-10-28 14:11:59

在写好代码的时候,编译正常但是在调用接口的时候却报 Invalid bound statement (not found):错误,这个错误有以下几种可能
    1.检查xml文件所在package名称是否和Mapper interface所在的包名

        <mapper namespace="me.tspace.pm.dao.UserDao">
         mapper的namespace写的不对!!!注意系修改。

    2.UserDao的方法在UserDao.xml中没有,然后执行UserDao的方法会报此

    3. UserDao的方法返回值是List<User>,而select元素没有正确配置ResultMap,或者只配置ResultType!

    4. 如果你确认没有以上问题,请任意修改下对应的xml文件,比如删除一个空行,保存.问题解决

    5.看下mapper的XML配置路径是否正确

重点来了!!!
        当以上几种可能都正确的情况下,看一看编译器的target目录下编译好的的class文件,看一看mapper(按照自己起的名字找)文件夹下是否有xxxmapper.XMl文件加载进来

 

在以上五种情况都满足的情况下应该就是这个问题了(IDE不加载.XML文件)

  解决办法:
          在你IDE的pom文件中添加以下代码:
            <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>
这时找到maven依赖将下面代码放进build节点中(如果pom文件中有build节点就可以省去build节点)

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!