![MyBatis运行时报:Parameter Maps collection dose not contain value for java.util.Map - 無痕剑 - 無痕剑的博客 MyBatis运行时报:Parameter Maps collection dose not contain value for java.util.Map - 無痕剑 - 無痕剑的博客](http://img1.ph.126.net/nMUu4tBZVNEooYe5a8dfGA==/6631573541050100401.png)
![MyBatis运行时报:Parameter Maps collection dose not contain value for java.util.Map - 無痕剑 - 無痕剑的博客 MyBatis运行时报:Parameter Maps collection dose not contain value for java.util.Map - 無痕剑 - 無痕剑的博客](http://img1.ph.126.net/uinvpEng5XdnXQgFzISS2g==/6631627417119861199.png)
运行时的测试类如上。
此异常的意思,就是Mapper.xml中存在ParameterMap这个属性,不过ParameterMap现在已经在MyBatis中停止使用了,参数现在都使用ParameterType属性。然后查看自己写的对应的Mapper_test.xml,里面没有写过ParameterMap这个属性啊!这里就有一个问题了,我这个工程用的是SpringMVC+MyBatis,在运行测试类的时候,实际上会先将我们在Spring.xml里面配置过的所有Mapper_*.xml都读取(或者叫解析)一遍,对他们都编译一下(相当于是,这个需要去看看源码,到底是怎么运作的)。然后再开始执行test中的方法。我理解的过程大概就是这样。于是乎就发现在我的另一个Mapper_error.xml文件里面,有一个select标签中使用了ParameterMap这个属性。然后就报错,报错就报在我的第一条DAO层语句上面了。