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文件,比如删除一个空行,保存.问题解决…