通过jdbctemplate.batchupdate从sql批量插入中获取标识

时间:2014-08-14 04:46:42

标签: sql spring spring-jdbc

我想从org.springframework.jdbc.core.JdbcTemplate.batchUpdate

插入/更新行ID(主键)

有没有办法像this一样使用KeyHolder来插入/更新行ID。

1 个答案:

答案 0 :(得分:1)

没有,可能是因为JDBC规范不需要getGeneratedKeys来处理executeBatch(),如here所述。如果您的驱动程序支持它,您将需要使用普通的旧JDBC来访问结果集。代码将是这样的:

PreparedStatement ps = conn.prepareStatement("insert into ... values (?)", Statement.RETURN_GENERATED_KEYS);
ps.setXXX(1, value1);
ps.addBatch();
ps.setXXX(1, value2);
ps.addBatch();
ps.executeUpdate();
ResultSet rs = ps.getGeneratedKeys();