Skip to main content
 首页 » 编程设计

spring-jdbc中JdbcTemplate批量更新到多个表同时

2025年05月04日74exmyth

JdbcTemplete.batchUpdate() 可以采用准备好的语句,并且可以向同一个表发起多次插入。

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(); 
        } 
   } 
); 

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

谢谢

请您参考如下方法:

不,这是不可能的。想想如果您尝试手动运行此 SQL,您将如何执行?另一种方法是迭代更新并每次修改相关表的 SQL。