Как работает JDBCTemplate queryForObject. В частности, новая часть Object [] {} - PullRequest
0 голосов
/ 04 ноября 2018

У меня есть этот пример кода:

public Post findById(Long id) {
    String sql = "select id, title, text from post where id = ?";

    return template.queryForObject(sql, new Object[] {id}, getPostRowMapper());

}

Я не понимаю, что здесь делает new Object[] {id}

1 Ответ

0 голосов
/ 04 ноября 2018

Если у вас есть оператор sql с переменной в нем (знак вопроса), то вам нужно указать переменные, которые будут помещены в этот оператор, где находятся знаки вопроса.

new Object[] {id} говорит нам, какие переменные следует размещать в местах, где находятся знаки вопроса.

new Object[] {} создает пустой массив объектов. new Object[] {id} создает массив объектов с одним элементом - Long id, который является параметром функции.

Итак, скажем, id равен 1. В этом случае знак вопроса

where id = ?

Будет заменено на 1

where id = 1

...