【发布时间】:2018-08-06 16:03:43
【问题描述】:
我有一个使用 MERGE 语句创建的更新/插入 SQL 查询。使用 JdbcTemplate 或 NamedParameterJdbcTemplate,Spring 是否提供了一种我可以用来更新单个记录的方法,而不是批量更新?
由于此查询将用于通过 JMS 侦听器从队列中持久化数据,因此我一次只将一条记录出列,并且不需要批量更新的开销。
如果批处理是通过 Spring JDBC 执行此操作的唯一方法,那很好......我只是想确保我没有遗漏一些更简单的东西。
【问题讨论】:
-
只需使用
update方法,例如这个:JdbcTemplate#update 而不是BatchUpdate。Update更新单条记录,batchUpdate使用JDBC批量更新多条记录。 -
@krokodiko:谢谢!这正是我需要知道的。你是第一个,所以如果你提供一个正式的答案,我会投票给你的答案。每个人都乐于助人。我最初尝试了 Spring 的更新方法,但由于我的参数化列表有问题,我误解了异常并确定 UPDATE 不是正确的方法。我没有意识到使用 Spring JDBC,它只是一个单一的或批量的更新。我寻找了一种更具体的方法,但找不到,所以你的简短回答给了我解决问题所需的洞察力。谢谢你的回答!