【问题标题】:Jdbctemplate queryforObject: EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0Jdbctemplate queryforObject:EmptyResultDataAccessException:结果大小不正确:预期为 1,实际为 0
【发布时间】:2017-06-02 19:19:20
【问题描述】:

我通过将值传递给 a 来调用下面的方法。

public Sample get(String a) {
    return jdbcTemplate.queryForObject(SQL, new Object[] { a }, rowMapper);
}

在执行下面的 queryForObject 方法时,它会抛出异常

"EmptyResultDataAccessException: 结果大小不正确:预期为 1, 实际 0" 并且对象数组值为空。 公共 T queryForObject(String sql, Object[] args, RowMapper rowMapper) 抛出 DataAccessException { 列表结果 = query(sql, args, new RowMapperResultSetExtractor(rowMapper, 1)); 返回 DataAccessUtils.requiredSingleResult(results); }

【问题讨论】:

    标签: spring-jdbc jdbctemplate


    【解决方案1】:

    您的查询未返回结果。

    两种解决方案:

    • 修复您的查询以始终返回结果
    • 尝试/捕获 EmptyResultDataAccessException 并选择适当的行为

    【讨论】:

      【解决方案2】:

      只是为了澄清更多,根据我最近的经验 -> 它清楚地提到: “EmptyResultDataAccessException:不正确的结果大小:预期 1,实际 0”这意味着它只需要 1 行,作为 SQL 查询执行的结果,而不是 0 且不超过 1。因此,请确保执行 SQL 查询会导致只有一行。

      【讨论】:

        猜你喜欢
        • 2015-03-13
        • 2015-04-24
        • 2012-05-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-05
        • 1970-01-01
        相关资源
        最近更新 更多