Jdbctemplate查询字符串:EmptyResultDataAccessException:错误的结果大小:预期为1,实际为0

Jdbctemplate查询字符串:EmptyResultDataAccessException:错误的结果大小:预期为1,实际为0,第1张

Jdbctemplate查询字符串:EmptyResultDataAccessException:错误的结果大小:预期为1,实际为0

在JdbcTemplate,,

queryForInt
queryForLong
queryForObject
所有这些方法都希望执行的查询将仅返回一行。如果没有行或多于一行,将导致
IncorrectResultSizeDataAccessException
。现在正确的方法不是捕获此异常或
EmptyResultDataAccessException
,而是确保您使用的查询仅返回一行。如果根本不可能,则使用
query
method代替。

List<String> strLst  = getJdbcTemplate().query(sql,new RowMapper {  public Object mapRow(ResultSet rs, int rowNum) throws SQLException {        return rs.getString(1);  }});if ( strLst.isEmpty() ){  return null;}else if ( strLst.size() == 1 ) { // list contains exactly 1 element  return strLst.get(0);}else{  // list contains more than 1 elements  //your wish, you can either throw the exception or return 1st element.    }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5478659.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存