myBatis中Invalid bound statement (not found)错误

环境:Idea、ssm、maven

由于使用maven的原因,maven不会扫描到mapper的xml文件所以会出现此类问题。

每次走到mapper方法时就抛异常:Invalid bound statement (not found)。这个问题找了好长时间,最后还是把mapper的xml文件放在了项目中的resource文件夹下,并修改配置中相应的路径才得以解决。

解决办法:

第一种方式:将mapper的xml文件放在resource文件夹下。

第二种方式:

在pom.xml文件中的build标签下加入

<resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
</resources>

如果不是这个原因,请检查配置是否错误,逐一排查。其他原因导致此问题解决参考:
1.

1
<mapper namespace="me.tspace.pm.dao.UserDao">

 mapper的namespace写的不对!!!注意系修改。

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

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

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

 

posted @ 2018-01-10 16:25  super超人  阅读(390)  评论(0编辑  收藏  举报