使用Jdbc的方式连接Clickhouse列式数据库

本文档介绍了如何修改Clickhouse配置以允许远程连接,并通过Java使用Maven和Clickhouse-JDBC驱动进行API操作。首先,编辑Clickhouse的配置文件启用远程连接,然后在Maven项目中引入依赖,最后展示了一个简单的Java测试类,演示了连接和查询Clickhouse数据库的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Clickhouse连接端口默认8123,但是Clickhouse默认情况下不允许其他设备进行http连接,所以需要更改clickhouse的默认配置:

1 [root@master local]# vim /etc/clickhouse-server/config.xml

新增一行,默认是注释的,让本地服务可以远程连接远程部署的Clickhouse服务,如下所示:

此设置是允许任何设备进行连接,配置好了之后就可以API连接。创建一个maven项目,然后引入Clickhouse提供的依赖坐标即可,如下所示:

 1 <project xmlns="http://maven.apache.org/POM/4.0.0"
 2     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
 4     https://maven.apache.org/xsd/maven-4.0.0.xsd">
 5     <modelVersion>4.0.0</modelVersion>
 6     <groupId>com.bie</groupId>
 7     <artifactId>clickhouse</artifactId>
 8     <version>0.0.1-SNAPSHOT</version>
 9 
10     <dependencies>
11         <dependency>
12             <groupId>ru.yandex.clickhouse</groupId>
13             <artifactId>clickhouse-jdbc</artifactId>
14             <version>0.2.6</version>
15         </dependency>
16     </dependencies>
17 </project>

然后搞一个测试类,和连mysql其实一样,将驱动包,url改成Clickhouse即可,如下所示:

 1 package com.bie.utils;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.ResultSet;
 6 import java.sql.ResultSetMetaData;
 7 import java.sql.SQLException;
 8 import java.sql.Statement;
 9 
10 public class ClickhouseUtils {
11 
12     private static Connection connection = null;
13 
14     static {
15         try {
16             Class.forName("ru.yandex.clickhouse.ClickHouseDriver");// 驱动包
17             String url = "jdbc:clickhouse://192.168.110.133:8123/system";// url路径
18             String user = "default";// 账号
19             String password = "";// 密码
20             connection = DriverManager.getConnection(url, user, password);
21         } catch (Exception e) {
22             e.printStackTrace();
23         }
24     }
25 
26     public static void main(String[] args) throws SQLException {
27         Statement statement = connection.createStatement();
28         ResultSet resultSet = statement.executeQuery("select * from system.functions");
29         ResultSetMetaData metaData = resultSet.getMetaData();
30         int columnCount = metaData.getColumnCount();
31         while (resultSet.next()) {
32             for (int i = 1; i <= columnCount; i++) {
33                 System.out.println(metaData.getColumnName(i) + ":" + resultSet.getString(i));
34             }
35         }
36     }
37 
38 }

直接运行,发现没有啥子问题,就说明配置对了,maven构建项目,开发工具eclipse。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值