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 {

}

然后就写代码了

相关推荐
dreamxian2 小时前
苍穹外卖day11
java·spring boot·后端·spring·mybatis
怒放吧德德7 小时前
Spring Boot实战:InfluxDB 2.x简单教程
java·spring boot·后端
indexsunny7 小时前
互联网大厂Java面试实战:核心技术与业务场景深度解析
java·spring boot·hibernate·security·microservices·interview
希望永不加班9 小时前
SpringBoot 内置服务器(Tomcat/Jetty/Undertow)切换
服务器·spring boot·后端·tomcat·jetty
yymboss10 小时前
【JavaEE】Spring Boot 项目创建
java·spring boot·java-ee
sxhcwgcy11 小时前
快速在本地运行SpringBoot项目的流程介绍
java·spring boot·后端
cjy00011111 小时前
SpringBoot(整合MyBatis + MyBatis-Plus + MyBatisX插件使用)
spring boot·tomcat·mybatis
Zzxy11 小时前
MyBatis-Plus入门
java·mybatis
毕设源码-郭学长11 小时前
【开题答辩全过程】以 基于Spring Boot“活力青春”健身房管理系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
毕设源码-钟学长12 小时前
【开题答辩全过程】以 基于SpringBoot的校园快递APP系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端