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


在写好代码的时候,编译正常但是在调用接口的时候却报 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节点)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM