java,spring - 使用NamedParameterJdbcTemplate进行批量插入

时间:2018-06-09 07:28:25

标签: java sql spring spring-jdbc named-parameters

我正在尝试使用namedParameterJdbcTemplate进行批量插入。这就是我正在做的事情:

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

这是我的函数,它给出了Map数组

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 个答案:

没有答案