1.導入相關依賴
<dependency> <groupId>ru.yandex.clickhouse</groupId> <artifactId>clickhouse-jdbc</artifactId> <version>0.2.4</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <version>3.2.0</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.2.0</version> </dependency>
2.因為之前項目用的是mybatis現在改成mybatis-plus所以需要在pom里面把之前的mybatis生成的沖突給解決掉
1 <dependency> 2 <groupId>com.xlkh</groupId> 3 <artifactId>cloud-platform-common</artifactId> 4 <exclusions> 5 <exclusion> 6 <artifactId>slf4j-log4j12</artifactId> 7 <groupId>org.slf4j</groupId> 8 </exclusion> 9 <exclusion> 10 <artifactId>mybatis</artifactId> 11 <groupId>org.mybatis</groupId> 12 </exclusion> 13 <exclusion> 14 <artifactId>mybatis-spring</artifactId> 15 <groupId>org.mybatis</groupId> 16 </exclusion> 17 </exclusions> 18 </dependency>
3.(很重要)添加相關的配置文件
1 spring: 2 datasource: 3 dynamic: 4 primary: mysql # 配置默認數據庫 5 strict: false #嚴格匹配數據源,默認false. true未匹配到指定數據源時拋異常,false使用默認數據源 6 datasource: 7 mysql : # 數據源配置 8 url: jdbc:mysql:IP+Port 9 username:賬號 10 password: 密碼
11 driver-class-name: com.mysql.jdbc.Driver 12 clickhouse: # 數據源2配置 13 url: jdbc:clickhouse:IP+Port 14 username: 15 password: 16 driver-class-name: ru.yandex.clickhouse.ClickHouseDriver
這一步我沒有用阿里巴巴的Druid的連接池,不知道為啥用了Druid在項目里面一直啟動不成功,報數據源的URL找不到,於是就把項目里關於Druid的全部刪除掉,使用的是spring框架自帶的Hikari連接池
后台啟用日志可以看見mysql和clickhouse注入成功
同時需要在啟動類上面讓spring啟動時不用找數據源
4.最后就是在service的方法上面加一個注解
@DS這個注解的意思是這個方法使用的是哪個數據源,因為你在yml里配置默認是mysql所以使用mysql的接口就不要加這個注解
5.測試接口是否成功
大功告成