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