java - jdbcTemplate 如何执行更新语句并返回变量

标签 java mysql spring jdbctemplate

我是 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/

相关文章:

java - pythonic OpenCV中java图像的使用

php - 用 php 备份 mysql 表

mysql - Jelastic备份解决方案

mysql - 如何使用 Spring MVC 和 JPA 在 mysql 数据库中持久化图像

java - OSGi 是否从根本上与 JSR-223 脚本语言发现不兼容?

java - 与信号量同步线程

java - 将条件加入到两个属性的另一个条件中

MySQL:从具有公共(public) ID 的不同表中进行选择

mysql - docker 中的 Spring 应用程序如何访问主机或云 mysql 中的 mysql?

java - Spring 3 MVC,Tomcat Web 应用程序在几次请求后挂起