当前位置:Gxlcms > 数据库问题 > spring boot 多数据源配置(多种数据库)

spring boot 多数据源配置(多种数据库)

时间:2021-07-01 10:21:17 帮助过:2人阅读


@Value("${custom.datasource.ds1.url}") //第一步中配置文件中的数据库配置信息
private String dbUrl;
@Value("${custom.datasource.ds1.username}")//同理为配置文件中信息
private String dbUser;
@Value("${custom.datasource.ds1.password}")//同理为配置文件信息
private String dbPassword;

@Bean(name = "rdsDatasource")
public DataSource rdsDataSource() {
DataSource dataSource = new DataSource();
dataSource.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
dataSource.setUrl(dbUrl);
dataSource.setUsername(dbUser);
dataSource.setPassword(dbPassword);
return dataSource;
}

@Bean(name = "rdsTransactionManager")
public DataSourceTransactionManager rdsTransactionManager(@Qualifier("rdsDatasource") DataSource adsDataSource) {
return new DataSourceTransactionManager(rdsDataSource());
}

@Bean(name = "rdsSessionFactory")
public SqlSessionFactory adsSqlSessionFactory(@Qualifier("rdsDatasource") DataSource adsDataSource) throws Exception {
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(adsDataSource);
return sessionFactory.getObject();
}
}

mysql数据源
@Configuration
@MapperScan(basePackages = AdsDataSourceConfig.PACKAGE, sqlSessionFactoryRef = "adsSqlSessionFactory")
public class AdsDataSourceConfig {
static final String PACKAGE = "com.jyall.ehr.mapper"; //扫描的mapper包结构

@Value("${spring.datasource.url}") //配置文件中的配置
private String dbUrl;
@Value("${spring.datasource.username}") //配置文件中的配置
private String dbUser;
@Value("${spring.datasource.password}") //配置文件中的配置
private String dbPassword;

@Bean(name = "adsDataSource")
@Primary //此注解表示在默认的数据源配置,即在默认配置时用到的数据源配置
public DataSource adsDataSource() {
DataSource dataSource = new DataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl(dbUrl);
dataSource.setUsername(dbUser);
dataSource.setPassword(dbPassword);
return dataSource;
}

@Bean(name = "adsTransactionManager")
@Primary
public DataSourceTransactionManager adsTransactionManager(@Qualifier("adsDataSource") DataSource adsDataSource) {
return new DataSourceTransactionManager(adsDataSource);
}

@Bean(name = "adsSqlSessionFactory")
@Primary
public SqlSessionFactory adsSqlSessionFactory(@Qualifier("adsDataSource") DataSource adsDataSource) throws Exception {
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(adsDataSource);
return sessionFactory.getObject();
}
}
至此多数据源的配置都已经完成,其他配置跟但数据源的配置时一样的,不在赘述。。。

spring boot 多数据源配置(多种数据库)

标签:

人气教程排行