gpt4 book ai didi

java - 如何在 SpringBatch 中解决 org.springframework.dao.EmptyResultDataAccessException

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:06:13 25 4
gpt4 key购买 nike

springframework.dao.EmptyResultDataAccessException 在尝试从 sql server 数据库中选择数据时,这是我编写的代码。谁能建议如何使用查询界面从数据库中选择数据?

public int getRedempRequestId(RedemptionResponseBean redemptionResponse)
throws ParseException {
final Timestamp redempIdFromCsv = getRedeemDate(redemptionResponse);
int participantId = redemptionResponse.getOcpEventMemberId();
System.out.println(redempIdFromCsv);
System.out.println(participantId);

int res = jdbcTemplate.queryForInt("SELECT RR.REDEMPTION_REQUEST_ID "
+ "FROM dbo.REDEMPTION_REQUEST RR WITH (NOLOCK)"
+ "WHERE RR.SENT_DATE = ? AND "
+ "RR.OEDEF_OCP_EVENT_MEMBER_ID = ? ", new Object[] {
redempIdFromCsv, participantId });
System.out.println(res+"-----------");
return res;
}

有人能告诉我这里有什么问题吗?

最佳答案

如果您不希望返回任何数据,则不应使用 jdbcTemplate.queryForInt(...),因为该方法预计它将执行的查询返回一个整数值。基本上,这就是 EmptyResultDataAccessException 告诉您的内容;它的 Javadoc 说:

Data access exception thrown when a result was expected to have at least one row (or element) but zero rows (or elements) were actually returned.

相反,您应该使用 JdbcTemplate 中的 query(...) 方法之一,它允许返回零行。

关于java - 如何在 SpringBatch 中解决 org.springframework.dao.EmptyResultDataAccessException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17788539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com