我是 Spring 新手,现在我收到一个查询,但不知道如何使用 jdbcTemplate 来处理它,查询如下:
更新表集 Seq = @seq := Seq + 1 WHERE id= ?;选择@seq作为总计;
我尝试使用 jdbcTemplate.executeQuery 但它会显示错误: 无法使用executeQuery()发出数据操作语句。
我尝试使用 jdbcTemplate.executeUpdate,但似乎它只返回受影响的行
有谁知道我如何实现这个查询并返回更新后的值?
最佳答案
您应该能够首先使用 update 执行 UPDATE
语句然后使用 queryForObject 执行 SELECT 语句。该变量在绑定(bind)到同一连接的 session 中保持不变。
jdbcTemplate.update("UPDATE table set Seq = @seq := Seq + 1 WHERE id= ?", yourId);
int total = jdbcTemplate.queryForObject("SELECT @seq as total", Integer.class);
关于java - jdbcTemplate 如何执行更新语句并返回变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42080694/