尝试从sql server数据库中选择数据时的springframework.dao.EmptyResultDataAccessException
,这是我编写的代码。有人可以建议如何使用查询界面从数据库中选择数据吗?
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说:
相反,您应该使用query(...)
中的JdbcTemplate
方法之一,该方法允许返回零行。