jdbcTemplate如何执行update语句并返回变量

时间:2017-02-07 02:32:40

标签: java mysql spring jdbctemplate

我是春天工作的新手,现在我得到了一个查询但不知道如何使用jdbcTemplate来处理它,查询如下:

UPDATE表设置Seq = @seq:= Seq + 1 WHERE id =?; SELECT @seq为total;

我尝试使用jdbcTemplate.executeQuery但它会显示错误: 无法使用executeQuery()发出数据操作语句。

我尝试使用jdbcTemplate.executeUpdate,但似乎只返回受影响的行

有没有人知道如何实现此查询并返回更新后的值?

1 个答案:

答案 0 :(得分:0)

您应该能够首先使用update执行UPDATE语句,然后使用queryForObject执行SELECT语句。该变量在绑定到同一连接的会话中保持不变。

jdbcTemplate.update("UPDATE table set Seq = @seq := Seq + 1 WHERE id= ?", yourId);
int total = jdbcTemplate.queryForObject("SELECT @seq as total", Integer.class);