【发布时间】:2014-10-07 15:30:26
【问题描述】:
我想从org.springframework.jdbc.core.JdbcTemplate.batchUpdate 获取插入/更新的行 ID(PrimaryKey)
有没有什么方法可以使用像this 这样的 KeyHolder 来获取插入/更新行 ID。
【问题讨论】:
标签: sql spring spring-jdbc
我想从org.springframework.jdbc.core.JdbcTemplate.batchUpdate 获取插入/更新的行 ID(PrimaryKey)
有没有什么方法可以使用像this 这样的 KeyHolder 来获取插入/更新行 ID。
【问题讨论】:
标签: sql spring spring-jdbc
没有,可能是因为 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();
【讨论】: