#java #resultset #jdbctemplate #scrollable
Вопрос:
Я использую Spring JdbcTemplate в своем проекте, и мне нужно сделать набор результатов прокручиваемым для моих картографов. Я сделал это для метода GetAll (), и это выглядит следующим образом:
@Override
public List<T> getAll() {
return jdbcTemplate.query(getPreparedStatementCreator(getQueryToGetAll()), mapper);
}
private PreparedStatementCreator getPreparedStatementCreator(String query) {
return connection -> connection.prepareStatement(query, ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
}
Это работает, так как JdbcTemplate имеет следующий метод:
public <T> List<T> query(PreparedStatementCreator psc, RowMapper<T> rowMapper)
Итак, я реализовал PreparedStatementCreator в качестве первого параметра и поставил mapper в качестве второго.
Теперь мне нужно создать метод GetById (), но я не нашел подходящего метода в JdbcTemplate с PreparedStatementCreator и mapper в качестве параметра.
Это мой метод GetById() :
@Override
public Optional<T> getById(Integer id) {
try {
return Optional.of(jdbcTemplate.queryForObject(getQueryToGetById(), mapper, id));
} catch (EmptyResultDataAccessException e) {
return Optional.empty();
}
}
Как я могу создать для него прокручиваемый набор результатов?