Java の JdbcTemplate クエリが空の場合のエラーを修正の方法

JdbcTemplateでクエリを実行すると、結果が空の場合にEmptyResultDataAccessExceptionが発生します。この問題への対処法は次のとおりです。

  1. 異常をtry-catch文で捕捉し、catchブロックで異常処理を行う。
try {
    // 执行查询操作
    List<Object> result = jdbcTemplate.query("SELECT * FROM table", new Object[]{}, new RowMapper<Object>() {
        // ...
    });
    
    // 处理查询结果
    // ...

} catch (EmptyResultDataAccessException e) {
    // 处理查询结果为空的情况
    // ...
}
  1. リストクエリ
List<Map<String, Object>> result = jdbcTemplate.queryForList("SELECT * FROM table");
if (result.isEmpty()) {
    // 处理查询结果为空的情况
    // ...
} else {
    // 处理查询结果
    // ...
}
  1. クエリする
  2. あえて日本語に直訳する場合
Optional<Object> result = jdbcTemplate.query("SELECT * FROM table", new Object[]{}, (ResultSet rs, int rowNum) -> {
    // 从ResultSet中获取查询结果
    // ...
});

if (result.isPresent()) {
    // 处理查询结果
    Object obj = result.get();
    // ...
} else {
    // 处理查询结果为空的情况
    // ...
}

空の結果を処理するための一般的なソリューションをいくつか示します。特定のユースケースに合わせて適切なアプローチを選択してください。

bannerAds