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

qaxu7uf2  于 2021-07-15  发布在  ClickHouse
关注(0)|答案(1)|浏览(1296)

我正在尝试对clickhouse数据库中的一个表执行数据批更新。我使用这样的驱动程序:

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

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

jdbcTemplate.batchUpdate(str)

我有一个空数组作为响应,数据库中没有记录。也没有例外。
这是否意味着驱动程序尚未准备好进行批量更新?有什么解决办法吗?
提前谢谢!

ldioqlga

ldioqlga1#

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

相关问题