我是靠谱客的博主 还单身战斗机,最近开发中收集的这篇文章主要介绍Java连接操作ClickHouse,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

ClickHouse 有两种 JDBC 驱动实现。

两者间的主要区别如下:

  • 驱动类加载路径不同,分别为 ru.yandex.clickhouse.ClickHouseDrivercom.github.housepower.jdbc.ClickHouseDriver
  • 默认连接端口不同,分别为 81239000(但经过测试,却是相反的)
  • 连接协议不同,官方驱动使用 HTTP 协议,而三方驱动使用 TCP 协议

方式一:官方驱动:pom 依赖

只能使用 9000 端口

<!--驱动为ru.yandex.clickhouse.ClickHouseDriver-->
<dependency>
    <groupId>ru.yandex.clickhouse</groupId>
    <artifactId>clickhouse-jdbc</artifactId>
    <version>0.3.1</version>
</dependency>

代码实现

package com.imooc.clickhouse;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

/**
 * 使用JDBC连接clickhouse
 * 官方驱动:ru.yandex.clickhouse.ClickHouseDriver 只能使用9000端口
 */
public class clickhouseJDBC {
    public static void main(String[] args) {
        try {
            Class.forName("ru.yandex.clickhouse.ClickHouseDriver");
            String url = "jdbc:clickhouse://192.168.52.140:9000/default";
            String user = "default";
            String password = "";
            Connection conn = DriverManager.getConnection(url, user, password);
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("select * from default.smt_table");
            while (rs.next()){
                System.out.println(rs.getString(1));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

方式二:第三方驱动:pom 依赖

使用 8213 或者 9000 端口都可以连接

<!--驱动为com.github.housepower.jdbc.ClickHouseDriver-->
<dependency>
    <groupId>com.github.housepower</groupId>
    <artifactId>clickhouse-native-jdbc</artifactId>
    <version>1.6-stable</version>
</dependency>

代码实现

package com.imooc.clickhouse;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

/**
 * 使用JDBC连接clickhouse
 * 三方提供的驱动:com.github.housepower.jdbc.ClickHouseDriver 使用8213或者9000端口都可以连接
 */
public class clickhouseJDBC1 {
    public static void main(String[] args) {
        try {
            Class.forName("com.github.housepower.jdbc.ClickHouseDriver");
            String url = "jdbc:clickhouse://192.168.52.140:8123/default";
            String user = "default";
            String password = "";
            Connection conn = DriverManager.getConnection(url, user, password);
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("select * from default.smt_table");
            while (rs.next()){
                System.out.println(rs.getString(1));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

最后

以上就是还单身战斗机为你收集整理的Java连接操作ClickHouse的全部内容,希望文章能够帮你解决Java连接操作ClickHouse所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部