文章目录
前言
工作的时候,遇到了需要将一个数据库的一些数据插入或更新到另一个数据库。一开始使用insert into TABLE (col1,col2) VALUES (val1,val2) ON DUPLICATE KEY update col1 = "val1";
(这句sql语句的意思是:将val1,val2值插入到TABLE表的col1和col2字段中,如果出现主键或唯一冲突,就进行更新,只将col1值更新为val1)进行数据的插入和更新。但是每次都要对着这一条sql语句进行修改,十分麻烦,就想着能否同时连接两个数据库进行业务处理。
业务逻辑
使用Mybatis实现
首先,如果你的项目用的是Mybatis,那么以下配置可以实现配置多数据源,连接多数据库的作用。但是,如果你使用的是Mybatis-plus,本人建议使用Mybatis-plus实现更加简单易操作。
1、在yml配置文件中配置多数据库,例如:
spring:
application:
name: CONNECTION
datasource:
db1:
driver-class-name: com.mysql.cj.jdbc.Driver
jdbc-url: jdbc:mysql://localhost:3306/test?serverTimezone=UTC
username: root
password: 123456
type: com.alibaba.druid.pool.DruidDataSource
db2:
driver-class-name: com.mysql.cj.jdbc.Driver
jdbc-url: jdbc:mysql://11.11.11.11:3306/test?serverTimezone=UTC
username: root
password: 654321
type: com.alibaba.druid.pool.DruidDataSource
注意,将数据库配置中的url改为jdbc-url,否则无法配置多数据源。
2、创建不同的mapper,用于不同的数据库。