码迷,mamicode.com
首页 > 其他好文 > 详细

mybatis常见报错!!

时间:2019-02-26 15:18:28      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:常见   bsp   tar   sources   src   解决办法   mes   type   namespace   

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

mybatis常见报错!!

标签:常见   bsp   tar   sources   src   解决办法   mes   type   namespace   

原文地址:https://www.cnblogs.com/liyh123456/p/10437159.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!