一、多数据源的使用
首先编写配置文件
spring:
aop:
proxy-target-class: true
auto: true
datasource:
druid:
db1:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql:数据库连接地址
username: 账号
password: 密码
initialSize: 5
minIdle: 5
maxActive: 20
db2:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
url: jdbc:sqlserver:数据库链接地址
username: 账号
password: 密码
initialSize: 5
minIdle: 5
maxActive: 20
然后创建数据源配置类
import com.zaxxer.hikari.HikariDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import javax.sql.DataSource;
/**
* 创建读取数据源配置到数据库连接池
*
* @author 创作人:陈定雄
* @date 2019/10/26 0:24
*/
@Configuration
public class DataSourceConfig {
@Bean
@Primary
public DataSource dataSource(@Value("${spring.datasource.druid.db1.username}") String username,
@Value("${spring.datasource.druid.db1.password}") String password,
@Value("${spring.datasource.druid.db1.url}") String url,
@Value("${spring.datasource.druid.db1.driver-class-name}") String driverClassName) {
return createDataSource(username, password, url, driverClassName);
}
@Bean
public DataSource dataSource2(@Value("${spring.datasource.druid.db2.username}") String username,
@Value("${spring.datasource.druid.db2.password}") String password,
@Value("${spring.datasource.druid.db2.url}") String url,
@Value("${spring.datasource.druid.db2.driver-class-name}") String driverClassName) {
return createDataSource(username, password, url, driverClassName);
}
private DataSource createDataSource(String username, String password, String url, String driverClassName) {
HikariDataSource dataSource = new HikariDataSource();
dataSource.setUsername(username);
dataSource.setPassword(password);
dataSource.setJdbcUrl(url);
dataSource.setDriverClassName(driverClassName);
return dataSource;
}
}
然后创建mybatisPlus配置类
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.pl