[英]how it get return Optional<List<VO>> from mybatis
I'm not an English speaker. 我不会说英语。
coz English is not fluent. 因为英语不流利。
I wanna use Optional in Mapper 我想在Mapper中使用Optional
like this 像这样
public interface TestMapper {
@Transactional(readOnly = true)
Optional<List<VO>> selectDataOpt();
}
<select id="selectDataOpt" resultType="VO">
SELECT ID, NAME, CALL_NUM
FROM USER
ORDER BY INSERTDATE ASC
LIMIT 100
</select>
but mybatis print exception msg that 但是mybatis打印异常味精
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 21
What can I do I do not know what I'm missing? 我不知道该怎么办?
Thank you for reading 感谢您的阅读
Lend your wisdom. 发挥你的智慧。
Remove the Optional
. 删除
Optional
。
Your framework/lib complains about he got too many results from DB but you ask him to compress down to only one (optional) variable. 您的框架/库抱怨说他从数据库中获得了太多的结果,但是您要求他将其压缩为一个(可选)变量。
You just use Optional
when you expect to get one or no results from DB. 当期望从数据库获得一个或没有结果时,只需使用
Optional
。
For list, just leave it as it is, most of framework/lib will return an empty list for you. 对于列表,保持原样,大多数framework / lib会为您返回一个空列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.