java - 带有可变长度 IN 子句的 JDBC 更新
问题描述
所以我有一个查询需要像UPDATE entity WHERE id IN (:ids)
. 我知道在做的时候SELECT
我可以做类似的事情
val sql = "SELECT * FROM entity WHERE id IN (:ids)";
jdbcTemplate.queryForList(sql, Collections.singletonMap("ids", ids));
有什么方法可以为“更新”查询完成此操作,我不必将我的 id 列表转换为逗号分隔的字符串并调用它
val params = ids.joinToString(",")
jdbcTemplate.update(sql, mapOf(Pair("ids", params)))
编辑:结果我列出的第二种方式甚至不起作用,因为它需要一个 Double 并得到一个字符串
解决方案
在 Java 中,您可以这样做:
String joinedIds = Arrays.stream(tradeListIds).collect(Collectors.joining(", "));
推荐阅读
- ios - Xcode Preview canvas 不同于 Simulator
- teamcity - 在 Teamcity 构建服务器上生成 Locust 报告
- javascript - React Native Flip Card 不支持翻转
- php - 如何在 php 代码中的 textarea 元素中添加新行?
- javascript - 单元测试时模拟单元的内部依赖关系?
- css - 我有一个线性渐变应用于填充的 SVG,它没有应用第二个停止颜色,我不知道为什么
- android - 如何将 arduino 和 android 应用程序与 gsm 互联网连接?
- kotlin - 如何从 websocket 侦听器获取消息到不同的类?
- java - OkHttp 客户端未从响应中获取自定义标头
- c# - 数据未保存在第二个循环中