Java の JdbcTemplate クエリが空の場合のエラーを修正の方法
JdbcTemplateでクエリを実行すると、結果が空の場合にEmptyResultDataAccessExceptionが発生します。この問題への対処法は次のとおりです。
- 異常をtry-catch文で捕捉し、catchブロックで異常処理を行う。
try {
// 执行查询操作
List<Object> result = jdbcTemplate.query("SELECT * FROM table", new Object[]{}, new RowMapper<Object>() {
// ...
});
// 处理查询结果
// ...
} catch (EmptyResultDataAccessException e) {
// 处理查询结果为空的情况
// ...
}
- リストクエリ
List<Map<String, Object>> result = jdbcTemplate.queryForList("SELECT * FROM table");
if (result.isEmpty()) {
// 处理查询结果为空的情况
// ...
} else {
// 处理查询结果
// ...
}
- クエリする
- あえて日本語に直訳する場合
Optional<Object> result = jdbcTemplate.query("SELECT * FROM table", new Object[]{}, (ResultSet rs, int rowNum) -> {
// 从ResultSet中获取查询结果
// ...
});
if (result.isPresent()) {
// 处理查询结果
Object obj = result.get();
// ...
} else {
// 处理查询结果为空的情况
// ...
}
空の結果を処理するための一般的なソリューションをいくつか示します。特定のユースケースに合わせて適切なアプローチを選択してください。