業(yè)務系統(tǒng)復雜程度增加,為了解決數(shù)據(jù)庫I/O瓶頸,很自然會進行拆庫拆表分服務來應對。這就會出現(xiàn)一個系統(tǒng)中可能會訪問多處數(shù)據(jù)庫,需要配置多個數(shù)據(jù)源。
第一種場景:項目服務從其它多處數(shù)據(jù)庫取基礎數(shù)據(jù)進行業(yè)務處理,因此各庫之間不會出現(xiàn)重表等情況。
第二種場景:為了減輕寫入壓力進行讀寫分庫,讀走從庫,寫為主庫。此種表名等信息皆為一致。
第三種場景:以上兩種皆有。對于某些業(yè)務需要大數(shù)據(jù)量的匯總統(tǒng)計,希望不影響正常業(yè)務必須走從庫(表信息一致),某些配置信息不存在讀寫壓力,出現(xiàn)不分庫(表信息不一致)
項目源代碼:
https://github.com/zzsong/springboot-multiple-datasource.git
有三個目錄:
one:
直接使用多@Bean配置,@MapperScan來路徑區(qū)分讀何庫
two:
使用注解的方式來標識走何dataSource,AOP攔截注入動態(tài)數(shù)據(jù)源
third:
使用spring的Bean命名策略進行區(qū)分數(shù)據(jù)來源
項目技術選型: springBoot2.2.5 + mybatis + druid + mysql
先看主要的pom包
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.5.RELEASE</version> <relativePath/> </parent> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.19</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.21</version> </dependency>
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)建站jinyejixie.com,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前標題:springboot2+mybatis多種方式實現(xiàn)多數(shù)據(jù)配置方法-創(chuàng)新互聯(lián)
本文地址:http://jinyejixie.com/article30/dejhpo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供虛擬主機、軟件開發(fā)、全網(wǎng)營銷推廣、外貿(mào)網(wǎng)站建設、ChatGPT、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容