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 {

}

然后就写代码了

相关推荐
即将进化成人机5 分钟前
springboot项目创建方式
java·spring boot·后端
SadSunset18 分钟前
(13)复杂查询
java·笔记·架构·mybatis
vx_bisheyuange28 分钟前
基于SpringBoot的游戏交易系统
spring boot·后端·游戏·毕业设计
毕设源码-朱学姐39 分钟前
【开题答辩全过程】以 基于SpringBoot的流行音乐网站的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
SadSunset41 分钟前
(12)基于注解实现的sql
mybatis
油丶酸萝卜别吃1 小时前
在Spring Boot项目中使用RestTemplate发送请求时如何处理响应?
windows·spring boot·后端
小张快跑。2 小时前
【Java企业级开发】(十)SpringBoot框架+项目实践
java·数据库·spring boot
JIngJaneIL2 小时前
基于Java二手交易管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot
汤姆yu3 小时前
基于springboot的智能化人员物资调度系统
数据库·spring boot·后端
一 乐3 小时前
宠物店管理|基于Java+vue的宠物猫店管理管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端