springboot 基于mybatis plus 整合clickHouse以及mysql (多数据源)

news2024/11/23 9:24:48

一.服务安装

docker安装clickhouse数据库_docker 安装clickhouse-CSDN博客

使用idea链接clickHouse

执行创建数据库

create database student;
-- auto-generated definition
create table web_visits
(
    date     Date     default toDate(datetime),
    datetime DateTime default now(),
    url      String
)
    engine = MergeTree PARTITION BY toYYYYMM(date)
        ORDER BY (date, url)
        SETTINGS index_granularity = 8192;

二.项目整合

1.项目引入依赖

        <!--    3版本升级    -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
            <version>3.5.5</version>
        </dependency>

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot3-starter</artifactId>
            <version>4.3.1</version>
        </dependency>


        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-extension</artifactId>
            <version>3.5.5</version>
        </dependency>
                <dependency>
            <groupId>com.clickhouse</groupId>
            <artifactId>clickhouse-jdbc</artifactId>
            <version>0.4.6</version>
        </dependency>

        <dependency>
            <groupId>com.clickhouse</groupId>
            <artifactId>clickhouse-http-client</artifactId>
            <version>0.4.6</version>
        </dependency>


        <dependency>
            <groupId>org.lz4</groupId>
            <artifactId>lz4-java</artifactId>
            <version>1.8.0</version>
        </dependency>
spring:
  application:
    name: demo
  datasource:
    dynamic:
      primary: master
      strict: true
      datasource:
        master:
          url: jdbc:mysql://localhost:3306/flow?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
          username: root
          password: 123456
          driver-class-name: com.mysql.cj.jdbc.Driver
#        clickhouse:
#          url: jdbc:clickhouse://127.0.0.1:8123/student
#          username: default
#          password:
#          driver-class-name: com.clickhouse.jdbc.ClickHouseDriver
import com.baomidou.dynamic.datasource.annotation.DS;

import java.lang.annotation.*;

/**
 * @author chenkang
 * @since 2024/7/19 9:03
 */
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@DS("clickhouse")
public @interface DsClickHouse {
}
/**
 * <p>
 *  Mapper 接口
 * </p>
 * @Mapper 这个注解要么加 要么全局加mapperScan
 * @author baomidou
 * @since 2024-05-13
 */

@Mapper
public interface WebVisitsMapper extends BaseMapper<WebVisits> {

}
@DsClickHouse
public interface IWebVisitsService extends IService<WebVisits> {

}
/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author baomidou
 * @since 2024-05-13
 */
@Service
public class WebVisitsServiceImpl extends ServiceImpl<WebVisitsMapper, WebVisits> implements IWebVisitsService {

}

然后就写代码了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1966202.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Dash】Dash链接 csv/excel 文件

一、Dash如何连接csv数据&#xff1f; There area many ways to add data to an app: APIs, external databases, local .txt files, JSON files, and more. In this example, we will highlight one of the most common ways of incorporating data from a CSV sheet. # Imp…

使用 useState 管理响应式状态

title: 使用 useState 管理响应式状态 date: 2024/8/1 updated: 2024/8/1 author: cmdragon excerpt: 摘要&#xff1a;本文详细介绍了在Nuxt3框架中使用useState进行响应式状态管理的方法&#xff0c;包括其基本概念、优势、使用方法、共享状态实现以及性能优化技巧。useSt…

职业教育大数据实验实训室建设应用案例

大数据作为一种重要的信息技术&#xff0c;对各行各业产生了深远的影响。职业教育作为培养应用型人才的摇篮&#xff0c;建设大数据实验实训室&#xff0c;对于提高学生的数据分析能力和解决实际问题的能力具有重要意义。唯众作为一家专注于教育技术领域的企业&#xff0c;凭借…

职场成功全攻略:从简历到薪资谈判的秘诀分享

进入职场是一场漫长而精彩的旅程&#xff0c;它不仅仅是一份工作&#xff0c;更是个人成长、技能提升和实现价值的过程。本篇博客旨在为正在求职或期望在职场更进一步的您提供全面指导&#xff0c;内容涵盖简历制作、面试准备、薪资谈判、职场规划、技能评估到求职策略等多个方…

非递归的快速排序

其实&#xff0c;我们快速排序还有一种更加快的方法就是不采用递归的方法&#xff0c;那就是非递归&#xff0c;所以这一篇文章我们就研究这个非递归到底怎么实现。 首先&#xff0c;我们先思考一个问题&#xff1a;递归的时候&#xff0c;我们存到栈里面的到底是什么&#xf…

密码模块学习笔记(GMT0028)

GMT 0028-2014《密码模块安全技术要求》 GM/T 0028 四个安全等级 11个安全域&#xff1a;密码模块规格&#xff1b;密码模块接口&#xff1b;角色、服务和鉴别&#xff1b;软件/固件安全&#xff1b;运行环境&#xff1b;物理安全&#xff1b;非入侵式安全&#xff1b;敏感安…

学习3dMax需要多久才能从入门到高级3D建模师

学习3dMax需要多久才能从入门到高级3D建模师 学习3dMax从入门到成为高级3D建模师的时间因个体差异而不同&#xff0c;没有一个固定的时间框架。这取决于多种因素&#xff0c;包括你的学习能力、先前是否有相关软件或艺术的经验、投入的时间和精力、以及你学习的深度和广度。不过…

七夕送礼物首选:浪漫实用又出圈,有谁能拒绝?

七夕不知道送什么的看过来&#xff0c;那今天给大家安利一个女生收到都会疯狂爱上的节日礼物——华为FreeBuds Lipstick 2 口红耳机。既浪漫、时尚又实用高级&#xff0c;节日和生日、纪念日送都很合适。 外观包装&#xff1a;精致如她&#xff0c;一见倾心 为什么首选推荐这…

QListView实现自定义的控件展示(可以根据选中与否置顶展示)

文章目录 0 问题引入1、方案1&#xff1a;使用QListwidget自定义的widget1.1 效果1.1 思路 2、方案2&#xff1a;使用QListView自定义model自定义delegate2.1.浅谈2.2.实现 3、总结4、引用 0 问题引入 问题&#xff1a;有人问我如何实现上图的功能&#xff0c;当时我脑海里有了…

kerberos认证流程

kerberos 认证3步骤 1&#xff0c;生活场景 你进入某公司要见领导 首先第一次跟保安打交道&#xff0c;沟通完了&#xff0c;保安告诉你助理的办公室位置和一封信&#xff08;你看不懂&#xff0c;助理看的懂&#xff09; 2&#xff0c;你到了助理办公司&#xff0c;助理拿你的…

【LLM微调】Llama3.1-8B模型中文版!OpenBuddy发布新一代跨语言模型

简介&#xff1a; 7月23日&#xff0c;Meta发布了新一代开源模型系列&#xff1a;Llama3.1。其中405B参数的版本刷新了开源模型性能的上限&#xff0c;在多种指标上的测试成绩接近GPT-4等闭源模型的水平&#xff0c;甚至在部分基准测试中展现出来了超越头部闭源模型的潜力。 本…

折叠想象,「天池AI IP形象征集大赛」火热进行中!

天池十周年&#xff0c;我们诚挚邀请各路创作人才围绕「天池平台Al形象」进行创意施展&#xff0c;借助AIGC技术&#xff0c;创造属于天池的独一无二的Al IP形象。我们渴望见到充满“活力、创新、智能〞风格的Al IP设计浮出水面&#xff0c;它将成为天池平台的Al 官方形象&…

Python 中的 NotImplemented 和 NotImplementedError

前言 Python 中的 NotImplemented 和 NotImplementedError 很像&#xff0c;都用来表示没有实现的意思。它们具体有什么区别呢&#xff1f; NotImplemented NotImplemented 是 Python 中的一个特殊常量&#xff0c;注意它不是一个异常类&#xff0c;是一个值。所以它是用在 …

TCP 和 UDP 之间的区别?

从 连接&#xff0c;可靠性&#xff0c;传输方式等方面&#xff1a; TCP 是面向连接的协议&#xff0c;在发送数据的时候需要先通过 TCP 的三次握手&#xff0c;而 UDP 是无连接的协议&#xff0c;可以直接传输数据TCP 通过超时重传&#xff0c;流量控制和拥塞控制等方法保障了…

聚芯前行|美格智能亮相2024 ChinaJoy骁龙主题馆,展现数字娱乐的无限可能

7月26日&#xff0c;2024中国国际数码互动娱乐展览会&#xff08;ChinaJoy&#xff09;在上海新国际博览中心正式拉开帷幕。美格智能携手高通公司亮相骁龙主题馆&#xff0c;以5G-A毫米波MiFi解决方案及高算力AI模组&#xff0c;共同为广大玩家和粉丝打造了一个前沿技术赋能、充…

Vivo手机怎么录屏?教你操作,vivo手机完美录屏攻略

随着智能手机的普及&#xff0c;录屏功能成为了我们日常生活和工作中不可或缺的一部分。vivo手机作为一款备受欢迎的智能手机品牌&#xff0c;拥有着许多实用的工具和丰富的功能&#xff0c;其中包括强大的录屏功能。本文将为您详细介绍2种vivo手机怎么录屏的方法。无论您是想分…

找工作很迷茫?程序员的岗位宝典来了!

随着数字化转型进展深入&#xff0c;大量数字化、智能化的岗位相继涌现。 但即使这样&#xff0c;大家依然认为&#xff0c;找到一份合适的工作实在是太&#xff01;难&#xff01;了&#xff01; 调查显示&#xff0c;技术创新和商业模式正在成为助推企业发展的两大动力。同时…

TOSHIBA东芝代理商--芯智雲城,提供订货、报价、选型等服务!

关于东芝 东芝创立于1875年7月&#xff0c;是日本大型半导体制造商&#xff0c;全球知名的综合机电制造商和解决方案提供者&#xff0c;世界大型综合电子电器企业集团。东芝集团原名东京芝浦电气株式会社&#xff0c;在1939年东京电器与芝浦制作所正式合并成为现在的东芝&…

想不到WhaleStudio和Talend的差异竟如此之大!

最近我们遇到很多客户需求是把Talend迁移到WhaleStudio&#xff0c;主要是发现WhaleStudio支持的数据源多很多&#xff0c;从各个版本的SAP到AWS Redshift&#xff0c;S3&#xff0c;从MangoDB CDC到 Neo4J甚至各种国产信创数据源&#xff0c;可谓应有尽有。同时&#xff0c;客…

ROC曲线的一点理解

1 背景知识 真阳率&#xff08;TPR&#xff09;和假阳率&#xff08;FPR&#xff09;&#xff1a; 真阳率&#xff08;TPR&#xff09;&#xff1a;又称召回率&#xff08;Recall&#xff09;&#xff0c;计算公式为 ​&#xff0c;表示实际为正的样本中被正确分类为正的比例…