Springboot+mybatis-plus+mysql+clickhouse集成多數據源


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.測試接口是否成功

 

 

 

 大功告成


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM