简单记录一下Springboot配置不同数据源(clickhouse和mysql)

 Maven依赖

 <!--JDBC-clickhouse-->
        <dependency>
            <groupId>ru.yandex.clickhouse</groupId>
            <artifactId>clickhouse-jdbc</artifactId>
            <version>0.1.52</version>
        </dependency>
        <!--springboot-druid-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.17</version>
        </dependency>
        <!--多数据源-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
            <version>3.5.1</version>
        </dependency>

 application.yml配置

spring:
  autoconfigure:
    exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
  datasource:
    dynamic:
      primary: mysql
      strict: false
      datasource:
        #可以配置多个
        mysql:
          url: jdbc:mysql://${MYSQL_HOST:localhost}:${MYSQL_PORT:3306}/${MYSQL_DATABASE:easysite_3_1_2}?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&createDatabaseIfNotExist=true
          username: root
          password: root
          driver-class-name: com.mysql.cj.jdbc.Driver
        clickhouse:
          url: jdbc:clickhouse://hadoop102:8123
          username: default
          password:
          driver-class-name: ru.yandex.clickhouse.ClickHouseDriver
      flyway:
        locations: classpath:mysql/migration

 pojo:UserInfo

注意:这里的BaseEntity是公司封装的框架,里面有已经封装好的字段,譬如ID,IsDeleted等字段。结合Flyway可以自动创建table。

我把Maven依赖贴出来

<!-- 框架基础功能和配置 -->
        <dependency>
            <groupId>net.microcental</groupId>
            <artifactId>easysite-common-all</artifactId>
            <version>3.1.2</version>
        </dependency>
package net.microcental.easysite.demo.pojo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import net.microcental.easysite.common.core.domain.entity.BaseEntity;

import java.io.Serializable;

@Data
@TableName("cs_user_info")
public class UserInfo extends BaseEntity {
//    private static final long serialVersionUID = 1L;
//    private Integer id;
    @TableField("")
    private String userName;
    private String passWord;
    private String phone;
    private String email;
    private String createDay;
}

 Mapper

注意:可以用@DB注解标识在类上面,表示该类所有方法走clickhouse这个数据源。

package net.microcental.ea
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值