是否可以使用clickhouse-jdbc驱动程序对Clickhouse进行批量更新?

时间:2019-05-03 10:36:28

标签: jdbc spring-jdbc clickhouse

我正在尝试将数据批量更新到Clickhouse数据库中的一个表。我使用这样的驱动程序:

<dependency>
    <groupId>ru.yandex.clickhouse</groupId>
    <artifactId>clickhouse-jdbc</artifactId>
    <version>0.1.52</version>
</dependency>

问题是当我使用下一条指令更新表时:

jdbcTemplate.batchUpdate(str)

我有一个空数组作为响应,并且数据库中没有记录。也没有例外。

这是否意味着驱动程序尚未准备好进行批量更新?有什么解决方法吗?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

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) {
   ....
}