jdbcTemplate在一个批处理中执行多个sql语句

时间:2016-11-09 10:22:55

标签: java spring jdbc jdbctemplate

我正在使用Spring jdbcTemplate作为我的DAO层。我至少有两个sql语句,我想在一个查询中执行一次命中数据库:

Binding

现在我在@Transactional里面这样做:

ValidationAttribute

我知道在简单的jdbc中有一个addBatch()方法,但是如何使用jdbcTemplate在一个批处理中执行这两个sql语句? jdbcTemplate中是否有addBatch()等效项?

提前致谢。

1 个答案:

答案 0 :(得分:5)

您可以连接两个查询并添加;作为分隔符,但这不会使这些查询“原子”。换句话说,它们不会像您想象的那样立即执行,而是一个接一个地执行,就像您将逐个执行2个模板一样 - 这里没有区别。

为了保证操作的原子性,您必须使用事务。事务可以使查询所做的所有更改在事务提交时立即应用。