带有MySQL连接的Spring启动应用程序和oracle连接? (两个数据库)

问题描述 投票:0回答:2

我有以下application.properties:

## Spring DATASOURCE (DataSourceAutoConfiguration & DataSourceProperties)
spring.datasource.url= ${DATASOURCE_URL}
spring.datasource.username= ${DATASOURCE_USERNAME}
spring.datasource.password= ${DATASOURCE_PASSWORD}

## Other Database
second.datasource.url="jdbc:oracle:thin:@localhost:1521:XE"
second.datasource.username=usr
second.datasource.password=password
second.datasource.driver-class-name=oracle.jdbc.OracleDriver
second.jpa.show-sql=true

## Hibernate Properties

# The SQL dialect makes Hibernate generate better SQL for the chosen database
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.hibernate.ddl-auto = update
spring.jpa.database=default

当前有效的目标和事物:顶部的spring数据源工作正常。我可以将它用于我的所有主要需求。第二个是在它下面,它将查询遗留系统并从那里获取数据。

问题:我根本不知道如何让第二个数据源工作。我需要让它执行查询并让它返回一些东西。理想情况下,我希望看到一个有效的例子。我查看了一些博客文章,并用Google搜索,我显然遗漏了一些重要信息。

java hibernate spring-boot ojdbc
2个回答
0
投票

以上是默认值,spring可以自己找到它。要创建不同的DataSource,您需要在某处设置数据源bean,并从配置中读取值。

最简单的方法是创建一个带有配置注释的类,并为两个dataSource定义bean。

我建议使用HikariDataSource,你可以在这里阅读更多关于如何设置它的信息:https://www.baeldung.com/hikaricp

对于配置,您可以通过自动装配环境并从那里读取属性来使用环境。

例如,environment.getProperty(“second.datasource.url”)


0
投票

请查看以下链接中的说明:https://www.baeldung.com/spring-data-jpa-multiple-databases

1)您需要为每个数据源提供JPA配置,其中2)每个源都有独立的实体包,3)您必须将其中一个数据源指定为主数据源。

© www.soinside.com 2019 - 2024. All rights reserved.