PreparedStatement эквивалентно JDBCTemplate.update (String, Object [])? - PullRequest
0 голосов
/ 22 июня 2011

Так что я привел к убеждению , что это наиболее эффективный способ получения автоматически сгенерированного значения идентификатора из базы данных с использованием JDBCTemplate:

KeyHolder keyHolder = new GeneratedKeyHolder();
jdbcTemplate.update(
    new PreparedStatementCreator() {
        public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
            PreparedStatement ps =
                connection.prepareStatement(INSERT_SQL, new String[] {"ID_FIELD"});
            // Configure the PreparedStatement HERE!
            return ps;
        }
    },
    keyHolder);

Моя проблемачто я часто вставляю переменное число значений (JDBCTemplate.update(String, Object[]) на самом деле именно то, что мне нужно), и похоже, что PreparedStatement позволяет вставлять по одному за раз (setString и т. п.).Цикл по массиву кажется таким ... не элегантным.

1 Ответ

0 голосов
/ 29 июня 2011

Ну, так как это камыш, я предполагаю, что нет других способов сделать это.Я закончил тем, что создал класс для обработки этого, чтобы обойти требование для final .

...