前言
新手在使用mybatis注解开发的时候,往往容易出现各种错误。
上述提到的“Mapped Statements collection does not contain value for xxx”就是常见的一种,出现这个错误表明mybatis没有找到你所使用的查询语句。
错误分析
mapper文件没有被导入
除了忘记导入mapper这种情况外,需要注意的是,使用纯注解开发还不能使用包名的导入方式,例如下面的导入方式在纯注解开发中是无效的,因为纯注解开发并不会用到真实的Mapper类,因此也无法以包名的方式导入。
<mappers>
<package name="***.modu.mapper"/>
</mappers>
正确的方式应该是:
<mappers>
<mapper resource="***/modu/mapper/StudentMapper.xml"/>
</mappers>
id与使用查询的语句不匹配
简而言之,就是单词写错或者大小写错误之类的问题。
查询要求select语句的id属性,与查询时所用的String必须完全匹配。
遇到这种情况可以检查所用到的单词拼写。