1、在spring的配置檔案裡面,配置多個資料來源,我這裡配置兩個
<beanid="jobdatasource"class="com.alibaba.druid.pool.druiddatasource"init-method="init"destroy-method="close">
<2、很重要,新建乙個類繼承beanid="xsdatasource"class="com.alibaba.druid.pool.druiddatasource"init-method="init"destroy-method="close">
abstractroutingdatasource
public classmultipledatasourceextendsabstractroutingdatasource對應的spring配置如下:@override
protectedobject determinecurrentlookupkey()
}
<3、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>
<4、mybais配置也要改下beanid="transactionmanager"class="org.springframework.jdbc.datasource.datasourcetransactionmanager">
<
propertyname="datasource"ref="multipledatasource"/>
bean>
<5、完了之後,想要動態切換資料來源,需要用aop方式攔截執行的資料庫操作,自動向beanid="sqlsessionfactory"class="org.mybatis.spring.sqlsessionfactorybean">
<
propertyname="datasource"ref="multipledatasource"/>
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 檔案 也要在不同的包...