Сделайте прокручиваемый набор результатов в методе queryforobject в jdbctemplate

#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();
    }
}
 

Как я могу создать для него прокручиваемый набор результатов?