JdbcTemplate同时批量更新到多张表

JdbcTemplate to batchUpdate to multiple tables at same time

JdbcTemplete.batchUpdate() 可以采用准备好的语句,并且可以触发对同一个 table 的多个插入。

String sql = "INSERT INTO MYTABLE (COL1, COL2) VALUES (?, ?)"
List params = ...
jdbcTemplate.batchUpdate(sql,  new BatchPreparedStatementSetter() {
    public void setValues(PreparedStatement ps, int i) throws SQLException {
        List<String> singleRowParams = params.get(i);
            ps.setString(1, singleRowParams.get(0));
            ps.setString(2, singleRowParams.get(1));
        }

        // This is the number of times to run the SQL statement. 
        public int getBatchSize() {
            return params.size();
        }
   }
);

如何在一批更新中插入多个 tables,这可能吗?

谢谢

不,这不可能。想一想,如果您尝试手动 运行 这个 SQL,您会怎么做?另一种方法是迭代更新并每次修改 SQL 相关的 table(s).