它是如何从 mybatis 中获取 return Optional<List<VO>>
how it get return Optional<List<VO>> from mybatis
我不会说英语。
因为英语不流利。
我想在 Mapper 中使用 Optional
像这样
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>
但是 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
我不知道我错过了什么,我能做什么?
感谢阅读
贡献你的智慧。
删除 Optional
.
你的 framework/lib 抱怨他从 DB 得到了太多结果,但你要求他压缩到只有一个(可选)变量。
当您希望从 DB 获得一个结果或没有结果时,您只需使用 Optional
。
对于列表,保持原样即可,大多数framework/lib将为您return一个空列表。
我不会说英语。
因为英语不流利。
我想在 Mapper 中使用 Optional
像这样
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>
但是 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
我不知道我错过了什么,我能做什么?
感谢阅读
贡献你的智慧。
删除 Optional
.
你的 framework/lib 抱怨他从 DB 得到了太多结果,但你要求他压缩到只有一个(可选)变量。
当您希望从 DB 获得一个结果或没有结果时,您只需使用 Optional
。
对于列表,保持原样即可,大多数framework/lib将为您return一个空列表。