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

一.服务安装

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

使用idea链接clickHouse

执行创建数据库

XML 复制代码
create database student;
XML 复制代码
-- 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
XML 复制代码
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 {
}
XML 复制代码
/**
 * <p>
 *  Mapper 接口
 * </p>
 * @Mapper 这个注解要么加 要么全局加mapperScan
 * @author baomidou
 * @since 2024-05-13
 */

@Mapper
public interface WebVisitsMapper extends BaseMapper<WebVisits> {

}
XML 复制代码
@DsClickHouse
public interface IWebVisitsService extends IService<WebVisits> {

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

}

然后就写代码了

相关推荐
大猫和小黄16 分钟前
Java异常处理:从基础到SpringBoot实战解析
java·开发语言·spring boot·异常
hero.fei36 分钟前
kaptcha 验证码生成工具在springboot中集成
java·spring boot·后端
w***76551 小时前
存储技术全景:从基础原理到未来趋势
spring boot·后端·mybatis
醇氧2 小时前
SqlLogInterceptor mybatis配置打印SQL
java·sql·mybatis
Miss_Chenzr3 小时前
Springboot企业人事管理系统mi130(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·数据库·spring boot
符哥20084 小时前
Mybatis和Mybatis-plus区别
java·开发语言·mybatis
风景的人生5 小时前
springboot项目用maven插件打包时候报错
java·spring boot·maven
二哈喇子!5 小时前
基于SSM框架的网上商城购物系统的设计与实现(开源项目——实现CRUD功能整体流程超详细)
java·spring·mybatis·ssm
vx_bisheyuange5 小时前
基于SpringBoot的经方药食服务平台
java·spring boot·后端·毕业设计
哈哈老师啊5 小时前
Springboot企业办公信息化管理系统6z1v1(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端