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 {

}

然后就写代码了

相关推荐
他҈姓҈林҈2 小时前
使用 Spring Boot 进行开发
spring boot
Java&Develop4 小时前
onloyoffice历史版本功能实现,版本恢复功能,编辑器功能实现 springboot+vue2
前端·spring boot·编辑器
颇有几分姿色5 小时前
Spring Boot 读取配置文件的几种方式
java·spring boot·后端
@淡 定6 小时前
Spring Boot 的配置加载顺序
java·spring boot·后端
MaCa .BaKa7 小时前
35-疫苗预约管理系统(微服务)
spring boot·redis·微服务·云原生·架构·springcloud
秋野酱7 小时前
基于 Spring Boot 的银行柜台管理系统设计与实现(源码+文档+部署讲解)
java·spring boot·后端
獨枭8 小时前
Spring Boot 连接 Microsoft SQL Server 实现登录验证
spring boot·后端·microsoft
shanzhizi8 小时前
springboot入门-controller层
java·spring boot·后端
爱的叹息8 小时前
Spring和Spring Boot集成MyBatis的完整对比示例,包含从项目创建到测试的全流程代码
spring boot·spring·mybatis
游王子8 小时前
springboot3 声明式 HTTP 接口
网络·spring boot·网络协议·http