首页 > 解决方案 > Spring boot - 带有返回 id 的 Jdbc 批量插入

问题描述

假设我们有一个表users

id | name
_________
1  | name1
2  | name2

我可以使用以下方式将记录插入用户表并获取插入的 id。

query = INSERT INTO users(name) VALUES('name3') RETURNING id;
insertedId = jdbcTemplate.queryForObject(query, Long.class);

对于批量插入:

query = INSERT INTO users(name) VALUES(?) RETURNING id;
List<Object[]> objects = new ArrayList<Object[]>(new Object[]{'name3'}, new Object[]{'name4'});
int[] rowsAffected = jdbcTemplate.batchUpdate(query, objects); // this only return affected rows in array

如何使用批量插入获取所有插入的 ID?

也试过已经问过的问题..没有帮助:(

标签: javapsqljdbctemplatebatch-insert

解决方案


尝试使用int[]而不是int[][]


推荐阅读