【发布时间】:2019-12-10 18:48:20
【问题描述】:
假设我们有一个表users
id | name
_________
1 | name1
2 | name2
我可以通过以下方式在 users 表中插入一条记录并获取插入的 id。
- 尝试使用 SimpleJdbcInsert 插入记录并使用 executeAndReturnId() 方法获取插入的 id。
- 还尝试使用返回子句和 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也..没用:(
【问题讨论】:
-
您能否更具体地了解用例
-
需要使用 jdbcTemplate @Gowtham 插入 id
标签: java psql jdbctemplate batch-insert