spring boot 中配置clcikhouse,mybatis-plus方式
一、和mysql配置在一起的情况下(使用mybatis-plus)
1、安装依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot3-starter</artifactId>
<version>4.3.1</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.23</version>
</dependency>
<dependency>
<groupId>com.clickhouse</groupId>
<artifactId>clickhouse-jdbc</artifactId>
<version>0.6.5</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
<version>5.3.1</version>
</dependency>
<dependency>
<groupId>org.lz4</groupId>
<artifactId>lz4-java</artifactId>
<version>1.8.0</version>
</dependency>
2、配置文件
spring:
datasource:
dynamic:
#默认数据源
primary: master
datasource:
master:
username: xxxxx
password: xxxxx
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/xxxxxx?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true&allowMultiQueries=true
hikari:
max-lifetime: 70000
clickhouse:
driverClassName: com.clickhouse.jdbc.ClickHouseDriver
url: jdbc:clickhouse://localhost:8123/xxxxxxx?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8
hikari:
connection-timeout: 10000
connection-test-query: select 1
druid:
validation-query: SELECT 1
其中matster是mysql的,clickhouse是clickhouse库
3、其余用法和mybatis一样,注在查询的时候,方法上需要加上@DS(“clickhouse”),则转到clickhouse查询mapper了