我正在尝试将数据批量更新到Clickhouse数据库中的一个表。我使用这样的驱动程序:
<dependency>
<groupId>ru.yandex.clickhouse</groupId>
<artifactId>clickhouse-jdbc</artifactId>
<version>0.1.52</version>
</dependency>
问题是当我使用下一条指令更新表时:
jdbcTemplate.batchUpdate(str)
我有一个空数组作为响应,并且数据库中没有记录。也没有例外。
这是否意味着驱动程序尚未准备好进行批量更新?有什么解决方法吗?
提前谢谢!
答案 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) {
....
}