jdbcTemplate 批量插入
时间: 2023-06-22 16:33:36 浏览: 162
使用 Spring 的 JdbcTemplate 可以方便地实现批量插入操作。具体步骤如下:
1. 创建一个 JdbcTemplate 对象。
2. 创建一个批量插入的 SQL 语句,并使用 JdbcTemplate 的 batchUpdate() 方法执行批量插入操作。
3. 在 batchUpdate() 方法中,使用 BatchPreparedStatementSetter 对象设置每个插入语句的参数值。
下面是一个示例代码:
```
@Autowired
private JdbcTemplate jdbcTemplate;
public void insertBatch(final List<Customer> customers) {
String sql = "INSERT INTO customer (id, name, age) VALUES (?, ?, ?)";
jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps, int i) throws SQLException {
Customer customer = customers.get(i);
ps.setLong(1, customer.getId());
ps.setString(2, customer.getName());
ps.setInt(3, customer.getAge());
}
@Override
public int getBatchSize() {
return customers.size();
}
});
}
```
在上面的代码中,使用了 JdbcTemplate 的 batchUpdate() 方法批量插入数据,使用了 BatchPreparedStatementSetter 对象设置了每个插入语句的参数值。注意,getBatchSize() 方法返回了要插入的记录数,这个方法在设置参数值之前被调用,所以必须返回正确的记录数。
阅读全文