今天在写程序时出现了这个异常: org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 8
然后自己的代码是这样写的
/**
* 查找所有项目id及项目名
* @return 所有项目id及项目名
*/
Map<String, Object>
findPrjIdAndNames();
<select id="findPrjIdAndNames" resultType="map">
select id,name
from tms_projects
</select>
此时我的数据库里共有8条数据,经过问题排查,发现函数的返回值类型应当是List<Map<String, Object>>
即
/**
* 查找所有项目id及项目名
* @return 所有项目id及项目名
*/
List<Map<String, Object>>
findPrjIdAndNames();

本文详细解析了在使用MyBatis框架时遇到的TooManyResultsException异常原因,该异常通常发生在预期返回单一结果却返回多个结果的情况下。通过调整数据库查询语句和修改返回值类型为List<Map<String,Object>>,成功解决了问题。

2991

被折叠的 条评论
为什么被折叠?



