jdbcTemplate 执行多个sql语句
时间: 2023-07-06 16:35:52 浏览: 80
在 Spring 中,可以使用 JdbcTemplate 来执行多个 SQL 语句,同样可以使用批处理的方式来执行。
以下是一个简单的示例代码:
```java
@Autowired
private JdbcTemplate jdbcTemplate;
public void batchUpdate() {
String sql1 = "INSERT INTO table1 (col1, col2) VALUES (?, ?)";
String sql2 = "UPDATE table2 SET col1 = ? WHERE col2 = ?";
List<Object[]> batchArgs = new ArrayList<>();
batchArgs.add(new Object[] {"value1", "value2"});
batchArgs.add(new Object[] {"new_value", "value"});
jdbcTemplate.batchUpdate(sql1, sql2, batchArgs);
}
```
在上面的代码中,首先注入 JdbcTemplate 对象,然后定义两条 SQL 语句和一个批处理参数列表。然后,调用 JdbcTemplate 的 batchUpdate() 方法来执行多个 SQL 语句。
需要注意的是,batchUpdate() 方法可以接收任意数量的 SQL 语句和参数列表,但是所有的 SQL 语句必须是同一种类型的(例如,都是 INSERT 或者都是 UPDATE)。如果不是同一种类型的 SQL 语句,则需要使用多个 batchUpdate() 方法来执行。另外,使用批处理时,也需要确保所有语句都是正确的,以避免出现错误。