0.3版本一下,几乎很少有问题。但0.4版本以上,出现了各种各样的问题。
<dependency>
<groupId>com.clickhouse</groupId>
<artifactId>clickhouse-jdbc</artifactId>
<version>0.7.1</version>
<!-- use uber jar with all dependencies included, change classifier to http for smaller jar -->
<classifier>all</classifier>
</dependency>
已知问题
时间类型问题
经验1:
采用下面这种查询Count时,时间参数只能为java.util.Date或sql.Data,不支持Timestamp类型。否则会报错。且如果数据库的字段为DateTime时,Date的毫秒部分需要清零,否则查询失败。
jdbcTemplate.queryForObject(sql, Long.class,query.getParams().toArray());
经验1:
以下查询方式,Date类型需要转成Timestamp类型,并且时间的毫秒部分也需要清零。
List<EventInfoVO> results = jdbcTemplate.query(con -> {
PreparedStatement ps = con.prepareStatement(sql);
for(int i=0;i<query.getParams().size();i++){
Object obj = query.getParams().get(i);
int index = i+1;
if(obj instanceof Date){
ps.setTimestamp(index, new Timestamp(((Date)query.getParams().get(i)).getTime()));
}else{
ps.setObject(index, query.getParams().get(i));
}
}
return ps;
},new EventInfoVORowMapper());