JdbcTemplate在一个批处理中将参数发送到多个语句

时间:2017-09-29 15:55:31

标签: java postgresql jdbc jdbctemplate

我有以下声明:

String query = "DELETE FROM myTable WHERE id=? AND otherField=?; DELETE FROM myOtherTable WHERE idOther=? AND anotherField=?;";

将作为一个查询(一个接一个地执行)执行。所以,我有以下内容:

JdbcTemplate template;
template.update(query, new Object[]{ 1, "otherValue", 3, "anotherValue" });

因以下错误而失败:

  

org.postgresql.util.PSQLException:列索引超出范围:   3,列数:2。

我认为这里的问题是,查询由分号分隔,并且将为每个查询应用参数,并且它将尝试应用参数而不管分号。所以,我有4个参数,但第一个查询只收到2个(两个查询的SUM都是4)。

我有办法将参数传递给查询吗? 我无法使用命名模板

1 个答案:

答案 0 :(得分:0)

我最后自己做了替换然后执行查询。