如何在一个应用程序中配置两个具有公共用户(可以访问这两个数据库)的数据库?

nhjlsmyf  于 2021-07-23  发布在  Java
关注(0)|答案(1)|浏览(267)

将有两个数据库内相同的数据为不同的城市和用户与角色管理,这两个城市都有权访问。我搜索了一下,得到了一些信息,比如


# first db

spring.datasource.url = [url]
spring.datasource.username = [username]
spring.datasource.password = [password]
spring.datasource.driverClassName = org.postgresql.Driver

# second db ...

spring.secondDatasource.url = [url]
spring.secondDatasource.username = [username]
spring.secondDatasource.password = [password]
spring.secondDatasource.driverClassName = org.postgresql.Driver

但我找不到关于普通用户的信息。有人能帮我吗?

jtw3ybtb

jtw3ybtb1#

所以,你有两个不同的数据库,因为你应该创建两个 DataSource 具有不同属性前缀的bean。

@Bean
@ConfigurationProperties(prefix = "spring.datasource1")
public DataSource primaryDataSource() {
    return DataSourceBuilder.create().build();
}

@Bean
@ConfigurationProperties(prefix = "spring.datasource2")
public DataSource secondaryDataSource() {
    return DataSourceBuilder.create().build();
}

两者都有不同的设置 dataSourcesapplication.yaml :

spring:
  application:
    name: name
  datasource1:
    platform: postgresql
    driver-class-name: org.postgresql.Driver
    url: url1
    username: admin
    password: secret
    name:  
    hikari:

spring:
  application:
    name: name
  datasource2:
    platform: postgresql
    driver-class-name: org.postgresql.Driver
    url: url2
    username: admin
    password: secret
    name:  
    hikari:

在那之后你就有两颗豆子了 primaryDataSource 以及 secondaryDataSource 用于访问第一个或第二个数据库。

相关问题