Как получить автоматически сгенерированный первичный ключ после вставки или обновления записи, используя пакетное обновление шаблона jdbc? - PullRequest
0 голосов
/ 11 июня 2018

Я использую шаблон Spring JDBC для вставки данных в Oracle, и у меня есть одно требование: мне нужно выполнить массовую вставку с использованием пакетного обновления шаблона Spring JDBC, и я хочу автоматически сгенерировать первичный ключ и этот ключ, который мне нужно передатьдругой метод, но я не могу получить этот автоматически сгенерированный первичный файл, используя пакетное обновление.

Не могли бы вы предоставить решение?

1 Ответ

0 голосов
/ 11 июня 2018

Если вы автоматически создали PK в Oracle,
См. Пример кода:

final String insertNewFieldSql = Config.getSqlProperty("insert_new_field_record");      
    GeneratedKeyHolder holder = new GeneratedKeyHolder();
    MapSqlParameterSource parameters = null;

    for (ParsedData field : fields) {

            parameters = new MapSqlParameterSource();
            parameters.addValue("FIELD_1",parsedEmail.getDbRecordId())
                    .addValue("FIELD_2",field.getName());

            namedParameterJdbcTemplate.update( insertNewFieldSql, parameters, holder, new String[] {"PK_FIELD_ID" } );

            Long newFieldKey = holder.getKey().longValue();
            logger.log(Level.FINEST, "row was added: " + newFieldKey);
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...