当前位置: 首页 > 知识库问答 >
问题:

使用JPA和Hibernate Web应用程序在Spring-Boot上配置多个数据库

华景明
2023-03-14

这是我的配置属性文件。

应用程序.属性

#For Public Website
spring.datasource.clone.web.driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.clone.web.url = jdbc:sqlserver://127.0.0.01\\dbo:1433;databaseName=PROD_WEB;
# Username and password
spring.datasource.web.username = web
spring.datasource.web.password = ED5FLW64ZU976Q36

#For Rest API
spring.datasource.clone.url = jdbc:mysql://localhost:3306/PROD_REST;
# Username and password
spring.datasource.clone.username = rest
spring.datasource.clone.password = Firewall77#


#For Account Administration for Company Users
spring.datasource.admin.url = jdbc:sqlserver://127.0.0.01\\dbo:1433;databaseName=PROD_ADMIN;
# Username and password
spring.datasource.admin.username = admin
spring.datasource.admin.password = Firewall77#

# Backup & Cron Policy
...

如果能提供一些非常好的建议来执行它,我将不胜感激。你在这方面的知识对我有帮助,谢谢。

共有1个答案

阎璞瑜
2023-03-14

您需要实现两个不同的bean,每个数据源一个,并使它们分别采用相应的配置属性:

  1. 第一个bean将负责第一个datasource配置,并且应该使用@primary作为primary数据源,因此可以将其设置为项目的主数据源。
  2. 第二个bean将配置第二个数据源。

这就是在Spring中实现它们的方式:

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

@Bean
@ConfigurationProperties(prefix="spring.datasource.rest")
public DataSource secondaryDataSource() {
    return DataSourceBuilder.create().build();
}
#For Public Website
spring.datasource.web.driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.web.url = jdbc:sqlserver://127.0.0.01\\dbo:1433;databaseName= PROD_WEB;
# Username and password
spring.datasource.web.username = web
spring.datasource.web.password = ED5FLW64ZU976Q36

#For Rest API
spring.datasource.rest.driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.rest.url = jdbc:mysql://localhost:3306/PROD_REST;
# Username and password
spring.datasource.rest.username = rest
spring.datasource.rest.password = Firewall77#
    null
 类似资料:
  • 请有经验的人分享有关使用Spring Boot App配置db2数据库的建议? 创建一个Spring Boot应用程序,该应用程序将使用JpaRepository访问db2表,以使用Thymeleaf在HTML视图中呈现查询结果。 寻找关于如何配置使用Spring数据Jpa访问db2表的Spring Boot应用程序的一般说明。具体来说,我在构建中需要什么。渐变和应用程序。属性来实现这一点?

  • 我想创建一个应用程序,我想有多个数据库,这意味着不止两个,至少三个。这可能吗?如果是,请在此处解释。

  • 问题内容: 我是Spring和Spring Boot的新手。如何配置和使用两个数据源? 例如,这是我对第一个数据源的需求: 应用类别 如何修改以添加另一个数据源?如何将其自动布线以供其他存储库使用? 问题答案:

  • 如何配置和使用两个数据源? 例如,下面是第一个数据源: 应用程序.属性 应用程序类 如何修改以添加另一个数据源?我如何自动将其用于不同的存储库?

  • 我试图在同一个域对象上同时使用Spring Data JPA和Spring Data Elasticsearch,但这不起作用。 https://github.com/izeye/spring-boot-throwaway-branchs/tree/data-jpa-and-elasticsearch

  • 我试图在Spring Boot(v1.2.3)应用程序中使用两个数据库连接,如文档(http://docs.spring.io/spring-boot/docs/1.2.3.RELEASE/reference/htmlsingle/#howto-two-datasources. 问题似乎是次要数据源是用主要数据源的属性构建的。 有人能指出我错过了什么吗? 应用特性: