mybatis 错误 Mapped Statements collection does not contain value for

有个错误一直很郁闷,搞了半天才搞定。错误如下:

java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for

在unit里测试怎么也通不过,最后终于找到问题

1.原来是命名空间没写对,如果使用mapper,则<mapper namespace="com.sitech.mapper.StudentMapper">

空间中一定要写上Mapper的名称,否则就会报错。

2.如果按照这篇文章改了之后还不行,还有一种可能就是mybatis-config.xml文件的<mappers>节点下引用你的Mapper.xml

另一种情况

Mapped Statements collection does not contain value for后面是什么类什么方法之类的: 
错误原因有几种: 
1、mapper.xml中没有加入namespace 
2、mapper.xml中的方法和接口mapper的方法不对应 
3、mapper.xml没有加入到mybatis-config.xml中(即总的配置文件),例外:配置了mapper文件的包路径的除外 
4、mapper.xml文件名和所写的mapper名称不相同。

参考为

http://www.cnblogs.com/skyme/archive/2011/03/14/1983931.html

http://your233.iteye.com/blog/1563240

posted @ 2014-04-21 18:46  QZ双鱼座  阅读(768)  评论(0编辑  收藏  举报