配置Spring Boot以使用2个不同的数据库

时间:2015-01-23 17:34:23

标签: java mysql database spring spring-boot

我正在学习如何使用springboot作为java后端框架,我目前已将applications.properties配置为使用1个数据库。

我正在考虑添加一个额外的数据库来存储不同的信息,而不是将所有内容保存在一个数据库中,所以我想知道如何(如果可能的话)我能做到这一点?

我的application.properties文件包含如下数据:

spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://database:3306...

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您可以创建两个数据源,其中一个bean标记为@Primary

@Bean
@ConfigurationProperties(prefix = "datasource.mysql")
public DataSource mysqlDataSource() {
    return DataSourceBuilder.create().build();
}

@ConfigurationProperties(prefix = "datasource.postgres")
@Bean
@Primary
public DataSource postgresDataSource() {                
    return DataSourceBuilder.create().              
            build();
}

您的application.properties应如下所示:

datasource.mysql.url=jdbc:mysql://localhost:3306/mysql_demo
datasource.mysql.username=root
datasource.mysql.password=root
datasource.mysql.driverClassName=com.mysql.jdbc.Driver

datasource.postgres.url=jdbc:postgresql://localhost:5432/postgres_demo
datasource.postgres.username=postgres
datasource.postgres.password=postgres
datasource.postgres.driverClassName=org.postgresql.Driver