【问题标题】:How can a jdbcTemplate execute an update statement and return variablejdbcTemplate 如何执行更新语句并返回变量
【发布时间】:2017-02-07 02:32:39
【问题描述】:

我是spring的新手,现在有一个查询,但不知道如何使用jdbcTemplate来处理它,查询如下:

UPDATE 表集 Seq = @seq := Seq + 1 WHERE id= ?; SELECT @seq 作为总数;

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

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

有谁知道我如何实现这个查询并返回更新后的值?

【问题讨论】:

    标签: java mysql spring jdbctemplate


    【解决方案1】:

    您应该能够首先使用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);
    

    【讨论】:

    • 我已经试过你的代码,总的结果是空值。此查询的目标是增加一个计数器并将新的计数器值返回给同一查询中的程序。并希望如果同时进行多个连接,查询可以返回正确的计数器
    猜你喜欢
    • 1970-01-01
    • 2013-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-28
    • 2023-03-09
    相关资源
    最近更新 更多