在项目的管理中,有时候会出现项目合并的情况,但别的项目使用的是另一个数据库,做数据合并的时候同名表可能会有冲突的情况,这个时候可以使用同一项目使用不同数据库的方案,具体的操作流程可如下:
首先是数据源的配置,以oracle为例:
dbutil.dbType=oracle
jdbc.driverName=oracle.jdbc.driver.OracleDriver
jdbc.url=XXXXXX
jdbc.username=XXXXXX
jdbc.password=XXXXXX
marketing.jdbc.url=XXXXX
marketing.jdbc.username=XXXX
marketing.jdbc.password=XXXX
配置好数据源后:
在contextConfigLocation容器下配置不同数据源的id
<!-- 数据库1 -->
<bean id="defaultDataSource" parent="dataSourceParent">
<!-- 基本属性 url、user、password -->
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<!-- 数据库2 -->
<bean id="marketingDataSource" parent="dataSourceParent">
<!-- 基本属性 url、user、password -->
<property name="url" value="${marketing.jdbc.url}"/>
<property name="username" value="${marketing.jdbc.username}"/>
<property name="password" value="${marketing.jdbc.password}"/>
</bean>
动态数据源
<!-- 动态数据源 -->
<bean id="dataSource" class="com.xxxxx.DynamicDataSource">
<property name="targetDataSources">
<map key-type="java.lang.String">
<!-- key与代码Consts.JNDI.DEFAULT_JNDI_NAME 切合 -->
<entry value-ref="defaultDataSource