1.首先需要在jdbc的配置文件里面配置两个数据库的连接
数据库1的配置
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://地址:3306/数据库名?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true
username=用户名
password=密码
数据里2的配置
db.url.product=jdbc:mysql://地址:3306/数据库名?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true
db.username.product=用户名
db.password.product=密码
2.需要在application.xml里面配置两个dataSource
实例如下:
连接数据库1的配置
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${driverClassName}"></property>
<property name="url" value="${url}"></property>
<property name="username" value="${username}"></property>
<property name="password" value="${password}"></property>
</bean>
连接数据库2的配置
<bean id="dataSourceCY" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${driverClassName}" />
<property name="url" value="${db.url.product}" />
<property name="username" value="${db.username.product}" />
<property name="password" value="${db.password.product}" />
</bean>
在这里注意,你可以选择一个数据库当做主数据源,那个数据库操作更方便,选择那个数据库为主数据源
配置主数据源如下:
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
<property name="dataSource" ref="dataSource"></property>
<property name="mapperLocations" value="classpath:com/cn/demo/mapper/*Mapper.xml"></property>
</bean>
3.写相关的类进行实现
在一个类里面引入另一个的数据源,如下:
@Resource(name = "dataSourceCY")
private DataSource dataSourceCY;
获取连接
con = dataSourceCY.getConnection();
写sql然后执行
pstmt = con.prepareStatement(sql);
ResultSet result= pstmt.executeQuery();
4.然后就可以完成数据库的交互