今天在进行Spring查询数据库数据的单元测试操作的时候,出现以下错误:
Incorrect result size: expected 1, actual 3
字面上翻译过来是:"不正确的结果大小:预期是1,实际是3"
检查以后发现是以下第二条语句中的第三个参数"隔壁老王"有问题
我先创建了sql查询语句,语句中"username"的"?"就是对应的就是我第二条语句中的第三个参数"隔壁老王"
通过查询数据库发现,由于我的数据库表中,对应的"username"名称为"隔壁老王"的记录有"3"条(对应异常中的" actual 3")个,然而我调用的queryForObject方法只能返回"1"(对应异常中的" expected 1")条记录(通过放入User对象输出),所以才导致出现这个错误
解决方式:
(1)通过修改数据库:删除数据库中对应名称(column)相同的记录,留剩'1"条
(2)通过更换方法:使用query方法返回list对象(该方法能返回所有查询记录)
希望对你有帮助~
个人理解,如果有不恰当的地方请指出!谢谢!