是否可以使用 clickhouse-jdbc 驱动程序对 clickhouse 进行批量更新?
Posted
技术标签:
【中文标题】是否可以使用 clickhouse-jdbc 驱动程序对 clickhouse 进行批量更新?【英文标题】:is it possible to do batch updates to the clickhouse using clickhouse-jdbc driver? 【发布时间】:2019-05-03 10:36:27 【问题描述】:我正在尝试对 clickhouse 数据库中的一个表进行数据批量更新。我使用这样的驱动程序:
<dependency>
<groupId>ru.yandex.clickhouse</groupId>
<artifactId>clickhouse-jdbc</artifactId>
<version>0.1.52</version>
</dependency>
问题是当我使用下一条指令更新表时:
jdbcTemplate.batchUpdate(str)
我有一个空数组作为响应,并且数据库中没有记录。也不例外。
这是否意味着驱动程序还没有准备好进行批量更新?有什么解决方法吗?
提前致谢!
【问题讨论】:
【参考方案1】:Clickhouse jdbc 驱动支持批量更新。在纯 jdbc 代码中,这将如下所示:
try (Connection connection = dataSource.getConnection();
PreparedStatement ps = connection.prepareStatement(query))
for (Data data : datas)
ps.setInt(1, data.id);
ps.addBatch();
ps.executeBatch();
connection.commit();
catch (Exception e)
....
【讨论】:
以上是关于是否可以使用 clickhouse-jdbc 驱动程序对 clickhouse 进行批量更新?的主要内容,如果未能解决你的问题,请参考以下文章