我正在尝试在schemas
应用程序中连接2个不同的spring boot
。
要做到这一点,我有两个不同的data sources
。我应该如何在我的属性文件中配置它?
我看到this answer让我知道如何这样做。我目前在我的应用程序中有以下3个属性文件:
1. application.properties
2. hibernate.properties
3. multiple-db.properties
application.properties
目前为空。以下是其他2个文件:
hibernate.properties:
# Connection configuration
hibernate.connection.username= my_uname1
hibernate.connection.password= my_pword1
multiple-db.properties:
# Schema 1-Data source configuration
oracle.db.username1= my_uname1
oracle.db.password1= my_pword1
oracle.db.url1= my_url1
# Schema 2-Data source configuration
oracle.db.username2= my_uname2
oracle.db.password1= my_pword2
oracle.db.url2= my_url2
# JPA configuration
spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
# Hibernate configuration
hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver
hibernate.connection.url=my_url
hibernate.connection.provider_class=org.hibernate.connection.C3P0ConnectionProvider
这是正确的做法吗?我需要3 properties files
,还是我可以一起完成这个?
答案 0 :(得分:2)
Spring文档提供了一种创建主要和辅助数据源的方法: http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-two-datasources
可以按照此处所述配置每个数据源: http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-configure-a-datasource
您可以使用其他bean中的@Autowire
来访问它们。您可以将前缀与每个数据源相关联,以便在application.properties
或application.yml
文件中对其进行配置。
您也可以将其中一个设为主要。
答案 1 :(得分:0)
使用Spring,您可以轻松完成此任务。
这将是这样的:
<bean id="dataSource_1" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost/northwind" />
<property name="username" value="root" />
<property name="password" value="" />
</bean>
<bean id="dataSource_2" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost/northwind_dup" />
<property name="username" value="root" />
<property name="password" value="" />
</bean>
您也可以使用属性文件并执行以下操作:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<context:property-placeholder location="jdbc.properties"/>
你只能使用一个或三个文件。这完全取决于你。