Spring boot-具有返回ID的Jdbc批处理插入

问题描述 投票:0回答:1

假设我们有一个表用户

id | name
_________
1  | name1
2  | name2

我可以通过以下方式将记录插入到用户表中并获得插入的ID。

  • 尝试使用SimpleJdbcInsert插入记录,并使用executeAndReturnId()方法获取插入的id
  • 还尝试通过使用returning子句并使用queryForObject()来插入并获取插入的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?

尝试过already asked question也..没有帮助:(

假设我们有一个表用户ID |名称_________ 1 |名称1 2 | name2我可以使用以下方法将记录插入到用户表中并获取插入的ID。尝试使用...

java psql jdbctemplate batch-insert
1个回答
0
投票

尝试使用int[]代替int[][]

© www.soinside.com 2019 - 2024. All rights reserved.