README.md
May 30, 2025 · View on GitHub
Table of Contents
About the Project
This is a repo of the Java Client and JDBC Driver for ClickHouse Database (https://github.com/ClickHouse/Clickhouse) supported by the ClickHouse team. The Java Client is the core component that provides an API to interact with the database via HTTP Protocol.
The JDBC driver component implements the JDBC specification and communicates with ClickHouse using the Java Client API.
Historically, there are two versions of both components. The previous version of the Java client required a significant rewrite, so we decided to create a new one, client-v2, not to disturb anyone's work and to give time for migration. The JDBC driver also required changes to be compatible with the new client and comply more with JDBC specs, and we created jdbc-v2. This component will replace an old version (to keep the artifact name).
Client Features
| Name | Client V2 | Client V1 | Comments |
|---|---|---|---|
| Http Connection | ✔ | ✔ | |
| Http Compression (LZ4) | ✔ | ✔ | |
| Server Response Compression - LZ4 | ✔ | ✔ | |
| Client Request Compression - LZ4 | ✔ | ✔ | |
| HTTPS | ✔ | ✔ | |
| Client SSL Cert (mTLS) | ✔ | ✔ | |
| Http Proxy with Authentication | ✔ | ✔ | |
| Java Object SerDe | ✔ | ✗ | |
| Connection Pool | ✔ | ✔ | Apache HTTP Client only |
| Named Parameters | ✔ | ✔ | |
| Retry on failure | ✔ | ✔ | |
| Failover | ✗ | ✔ | |
| Load-balancing | ✗ | ✔ | |
| Server auto-discovery | ✗ | ✔ | |
| Log Comment | ✔ | ✔ | |
| Session Roles | ✔ | ✔ | |
| SSL Client Authentication | ✔ | ✔ | |
| Session timezone | ✔ | ✔ |
Important
Artifact Changes in 0.9.0 (June)
We are going to retire some JDBC artifacts (actually only classifiers) in 0.9.0. Here is the list:
| Artifact | Classifier | Comments |
|---|---|---|
| clickhouse-jdbc | shaded | Use one with all classifier instead |
| clickhouse-jdbc | http | |
| clickhouse-jdbc | shaded-all | Use one with all classifier instead |
Artifact com.clickhouse:clickhouse-jdbc remains untouched.
Artifact com.clickhouse:clickhouse-jdbc:0.9.0:all will contain all required classes.
Upcoming deprecations:
| Component | Version | Comment |
|---|---|---|
| ClickHouse Java v1 | TBC | We'll be deprecating Java v1 in 2025 |
Installation
Releases: Maven Central (web site https://mvnrepository.com/artifact/com.clickhouse)
Nightly Builds: https://s01.oss.sonatype.org/content/repositories/snapshots/com/clickhouse/
Client V2
Artifacts
| Component | Maven Central Link | Javadoc Link | Documentation Link |
|---|---|---|---|
| ClickHouse Java Client V2 | docs |
Examples
JDBC Driver
Artifacts
| Component | Maven Central Link | Javadoc Link | Documentation Link |
|---|---|---|---|
| ClickHouse JDBC Driver | docs |
Examples
See JDBC examples
R2DBC Driver
Artifacts
| Component | Maven Central Link | Javadoc Link | Documentation Link |
|---|---|---|---|
| ClickHouse R2DBC Driver | docs |
Misc Artifacts
| Component | Maven Central Link | Javadoc Link |
|---|---|---|
| ClickHouse Java Unified Client | ||
| ClickHouse Java HTTP Client |
Compatibility
- All projects in this repo are tested with all active LTS versions of ClickHouse.
- Support policy
- We recommend to upgrade client continuously to not miss security fixes and new improvements
- If you have an issue with migration - create and issue and we will respond!
Contributing
Please see our contributing guide.