iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >SpringBoot配置Clickhouse的示例代码
  • 472
分享到

SpringBoot配置Clickhouse的示例代码

2024-04-02 19:04:59 472人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

一、加入clickhouse jar包依赖 <dependency> <groupId>ru.yandex.clickhouse</g

一、加入clickhouse jar包依赖

 <dependency>
        <groupId>ru.yandex.clickhouse</groupId>
        <artifactId>clickhouse-jdbc</artifactId>
        <version>0.1.53</version>
    </dependency>

二、配置Clickhouse数据库连接属性配置文件,clickhouse默认没有密码

spring:
  datasource:
    clickhouse:
      address: jdbc:clickhouse://127.0.0.1:8123
      username: default
      passWord:
      db: system
      SocketTimeout: 600000

三、编写Clickhouse数据库连接操作工具

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import ru.yandex.clickhouse.ClickHouseConnection;
import ru.yandex.clickhouse.ClickHouseDataSource;
import ru.yandex.clickhouse.settings.ClickHouseProperties;

import java.sql.*;
import java.util.*;
@Slf4j
@Component
public class ClickHouseConfig {
    private static String clickhouseAddress;
    private static String clickhouseUsername;
    private static String clickhousePassword;
    private static String clickhouseDB;
    private static Integer clickhouseSocketTimeout;
    @Value("${spring.datasource.clickhouse.address}")
    public  void setClickhouseAddress(String address) {
        ClickHouseConfig.clickhouseAddress = address;
    }
    @Value("${spring.datasource.clickhouse.username}")
    public  void setClickhouseUsername(String username) {
        ClickHouseConfig.clickhouseUsername = username;
    @Value("${spring.datasource.clickhouse.password}")
    public  void setClickhousePassword(String password) {
        ClickHouseConfig.clickhousePassword = password;
    @Value("${spring.datasource.clickhouse.db}")
    public  void setClickhouseDB(String db) {
        ClickHouseConfig.clickhouseDB = db;
    @Value("${spring.datasource.clickhouse.socketTimeout}")
    public  void setClickhouseSocketTimeout(Integer socketTimeout) {
        ClickHouseConfig.clickhouseSocketTimeout = socketTimeout;
    public static Connection getConn() {
        ClickHouseConnection conn = null;
        ClickHouseProperties properties = new ClickHouseProperties();
        properties.setUser(clickhouseUsername);
        properties.setPassword(clickhousePassword);
        properties.setDatabase(clickhouseDB);
        properties.setSocketTimeout(clickhouseSocketTimeout);
        ClickHouseDataSource clickHouseDataSource = new ClickHouseDataSource(clickhouseAddress,properties);
        try {
            conn = clickHouseDataSource.getConnection();
            return conn;
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    public static List<Map<String,String>> exeSql(String sql){
        log.info("cliockhouse 执行sql:" + sql);
        Connection connection = getConn();
            Statement statement = connection.createStatement();
            ResultSet results = statement.executeQuery(sql);
            ResultSetMetaData rsmd = results.getMetaData();
            List<Map<String,String>> list = new ArrayList<>();
            while(results.next()){
                Map<String,String> row = new HashMap<>();
                for(int i = 1;i<=rsmd.getColumnCount();i++){
                    row.put(rsmd.getColumnName(i),results.getString(rsmd.getColumnName(i)));
                }
                list.add(row);
            }
            return list;
}

四、是用测试方法执行sql查询数据

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.List;
import java.util.Map;
@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class ClickHouseConfigTest {
    @Test
    public void exeSql() {
            log.info("===========测试开始============");
            String sql="select cluster,shard_num from clusters";
            List<Map<String,String>> result= ClickHouseConfig.exeSql(sql);
            log.info("===========查询技术============");
            log.info("clickhouse查询结果为:{}",result);
    }
}

测试成功

转自:https://www.dianjilingqu.com/

到此这篇关于SpringBoot配置Clickhouse的文章就介绍到这了,更多相关SpringBoot配置Clickhouse内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: SpringBoot配置Clickhouse的示例代码

本文链接: https://www.lsjlt.com/news/139689.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot配置Clickhouse的示例代码
    一、加入clickhouse jar包依赖 <dependency> <groupId>ru.yandex.clickhouse</g...
    99+
    2024-04-02
  • springboot配置druid多数据源的示例代码
    目录1、配置多数据源所需要的jar2、配置多数据源所需要的工具类3、DataSourceType 枚举类4、DruidProperties druid 配置属性5、DruidConf...
    99+
    2024-04-02
  • springboot项目配置多个kafka的示例代码
    目录1.spring-kafka2.配置文件相关信息3.kafka配置类4.消费主题消息1.spring-kafka <dependency> <groupI...
    99+
    2023-05-17
    springboot配置多个kafka springboot配置kafka
  • Springboot配置图片虚拟映射示例代码
    1.新建一个MyWebAppConfigurer 配置静态资源需要映射的位置、建议把addResourceLocations的路径写在application.yml中、方面以后部署的...
    99+
    2024-04-02
  • springboot 整合 clickhouse的实现示例
    目录前言前置准备使用jdbc方式操作clickhouse与springboot的整合代码完整整合步骤前言 了解了clickhouse的基础概念和相关的理论之后,本篇将通过实例代码演示...
    99+
    2024-04-02
  • springboot neo4j的配置代码
    neo4j是一个图形数据库,有一个做关系图谱的需求里面需要使用到图形数据库。 w3c教程:https://www.w3cschool.cn/neo4j/ 中文版的数据库可以通过ima...
    99+
    2024-04-02
  • SpringBoot配置actuator的代码
    Actuator简介 监控分类 Actuator 提供Rest接口,展示监控信息。接口分为三大类:应用配置类:获取应用程序中加载的应用配置、环境变量、自动化配置报告等与SpringB...
    99+
    2024-04-02
  • Spring boot配置 swagger的示例代码
    为什么使用Swagger     在实际开发中我们作为后端总是给前端或者其他系统提供接口,每次写完代码之后不可避免的都需要去写接口文档,首先写接口文档是...
    99+
    2024-04-02
  • Java代码读取properties配置文件的示例代码
    目录读取properties配置文件新手引导PropertiesConcurrentHashMapstaticInputStreamtry...cache...finallyIOEx...
    99+
    2023-05-18
    Java读取properties文件 Java读取properties
  • SpringBoot整合SpringDataRedis的示例代码
      本文介绍下SpringBoot如何整合SpringDataRedis框架的,SpringDataRedis具体的内容在前面已经介绍过了,可自行参考。 1....
    99+
    2024-04-02
  • springboot 使用 minio的示例代码
    什么是MinIo MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视...
    99+
    2024-04-02
  • SpringBoot整合logback的示例代码
    Logback简介 1、logback和log4j是同一个作者,logback可以看作是log4j的升级版 2、logback分为三个模块, logback-core, logbac...
    99+
    2024-04-02
  • SpringBoot整合ShardingSphere的示例代码
    目录一、相关依赖二、Nacos数据源配置三、项目配置四、验证概要: ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、S...
    99+
    2024-04-02
  • Springboot整合kafka的示例代码
    目录1.整合kafka2.消息发送2.1发送类型2.2序列化2.3分区策略3.消息消费3.1消息组别3.2位移提交1. 整合kafka 1、引入依赖 <dependency&...
    99+
    2024-04-02
  • SpringBoot集成redis的示例代码
    目录前言一、redis是什么二、集成redis步骤三、代码演示前言 redis想必小伙伴们即使没有用过,也是经常听到的,在工作中,redis用到的频率非常高,今天详细介绍一下Spr...
    99+
    2024-04-02
  • SpringBoot整合ElasticSearch的示例代码
    ElasticSearch作为基于Lucene的搜索服务器,既可以作为一个独立的服务部署,也可以签入Web应用中。SpringBoot作为Spring家族的全新框架,使得使用SpringBoot开发Spring应用变得非常简单。本文要介绍如...
    99+
    2023-05-31
    spring boot elasticsearch
  • SpringBoot整合aws的示例代码
    业务需求 将本地的一些文件保存到aws上 引入依赖 创建client 工具类 引入依赖 <dependency> ...
    99+
    2024-04-02
  • SpringBoot整合Liquibase的示例代码
    目录整合1整合2SpringBoot整合Liquibase虽然不难但坑还是有一点的,主要集中在配置路径相关的地方,在此记录一下整合的步骤,方便以后自己再做整合时少走弯路,当然也希望能...
    99+
    2024-04-02
  • SpringBoot整合jersey的示例代码
    这篇文章主要从以下几个方面来介绍。简单介绍下jersey,springboot,重点介绍如何整合springboot与jersey。 什么是jersey 什么是springboot 为什么要使用springboot+jersey 如...
    99+
    2023-05-31
    springboot jersey ers
  • springboot 整合sentinel的示例代码
    目录1. 安装sentinel2.客户端连接1. 安装sentinel         下载地址:https://github.com/ali...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作