Java, Spring - массовая вставка с использованием NamedParameterJdbcTemplate

Я пытаюсь сделать массовую вставку, используя namedParameterJdbcTemplate. Вот что я делаю:

SqlParameterSource[] userSubjects = SqlParameterSourceUtils.createBatch(getStudentSubjectMap(subjectIds, user.getId()));
namedParameterJdbcTemplate.batchUpdate(QueriesUser.CREATE_STUDENT_SUBJECT_MAPPING, userSubjects);

Вот моя функция, которая дает массив карт

private Map<String, Object>[] getStudentSubjectMap(List<Integer> subjectIds, String userId) {
        @SuppressWarnings("unchecked")
        Map<String, Object>[] maps = new HashMap[subjectIds.size()];
        for(int index = 0; index < subjectIds.size(); index++) {
            Map map = new HashMap<String, String>();
            map.put(InfraConstants.USER_ID, userId);
            map.put(InfraConstants.SUBJECT_ID, subjectIds.get(index));
            maps[index] = map;
        }
        return maps;
    }

После долгих поисков в интернете и прочтения документации я не нашел другой лучшей альтернативы, чем эта.

Я делаю это правильно? Это лучший способ сделать это? Любые улучшения в этом очень полезны.

0 ответов

Другие вопросы по тегам