使用NamedParameterJdbcTemplate批量插入时,KeyHolder是否保持行顺序?
问题解答: NamedParameterJdbcTemplate.batchUpdate 生成键的顺序一致性
是的,KeyHolder.getKeyList()返回的生成键列表顺序完全匹配你传入batchUpdate()方法的行的插入顺序。
具体说明:
- 当你按
A、B、C的顺序传入待插入行时,batchUpdate()会严格按照这个顺序执行插入操作 - Spring会在每一行插入完成后立即捕获对应的生成键,并按相同的顺序存入
KeyHolder实例中 - 最终
getKeyList()返回的列表里,第一个元素对应行A的生成ID,第二个对应行B,第三个对应行C
你可以放心通过索引将原始插入数据列表和生成键列表关联,以此确定每条记录对应的生成键。
内容的提问来源于stack exchange,提问作者erdos
相关产品推荐
相关产品推荐

