Spring Mybatis多資料來源配置

2021-07-23 21:07:45 字數 2664 閱讀 4992

1、在spring的配置檔案裡面,配置多個資料來源,我這裡配置兩個

<

beanid="jobdatasource"class="com.alibaba.druid.pool.druiddatasource"init-method="init"destroy-method="close">

<

beanid="xsdatasource"class="com.alibaba.druid.pool.druiddatasource"init-method="init"destroy-method="close">

2、很重要,新建乙個類繼承

abstractroutingdatasource

public classmultipledatasourceextendsabstractroutingdatasource 

@override

protectedobject determinecurrentlookupkey()

}

對應的spring配置如下:

<

beanid="multipledatasource"class="com.rapoo.job.support.multipledatasource">

<

propertyname="defaulttargetdatasource"ref="jobdatasource"/>

<

propertyname="targetdatasources">

<

map>

<

entrykey="jobdatasource"value-ref="jobdatasource"/>

<

entrykey="xsdatasource"value-ref="xsdatasource"/>

map>

property>

bean>

3、spring事務配置要改下

<

beanid="transactionmanager"class="org.springframework.jdbc.datasource.datasourcetransactionmanager">

<

propertyname="datasource"ref="multipledatasource"/>

bean>

4、mybais配置也要改下

<

beanid="sqlsessionfactory"class="org.mybatis.spring.sqlsessionfactorybean">

<

propertyname="datasource"ref="multipledatasource"/>

5、完了之後,想要動態切換資料來源,需要用aop方式攔截執行的資料庫操作,自動向

threadlocal設定資料來源的key,見第2步的

setdatasourcekey和determinecurrentlookupkey方法

Spring MyBatis配置多資料來源

我此處用到的兩個資料庫都是oracle 1.首先修改資料庫的配置檔案,使得其有多個資料庫 2.配置spring的配置檔案 2.1資料庫1的spring配置 2.2資料庫2的spring配置 2.3配置多資料來源 這裡將兩個datasource配置到multipledatasource中,defaul...

spring mybatis多資料來源配置

應開發需求需要,根據專案業務,不同業務下的資料存入不同的資料庫中,且須讀寫分離。目前常用的有兩種方式 第一種 定義多個個資料庫連線,分別是areaddatasource,awritedatasource,breaddatasource,bwritedatasource,creaddatasource...

Spring MyBatis多資料來源分包

分包的同學點這裡 spring mybatis多資料來源 同包 建立基本的entity service dao 不同的資料來源建立不同的包 我這裡為了分辨 乙個用的是mysql 乙個是oracle 方便測試,我這裡使用的是mybatis 建立mybatis dao 對映 xml 檔案 也要在不同的包...