我有一个 Spring 引导应用程序,它将与两个数据库(Cassandra 和 DB2)通信。我将在此应用程序中使用弹簧数据。是否适用于仅在application.yml文件中配置数据源,而无需编写java代码。如果是这样,如何指定每种方言?
注意:此应用程序将 spring-data-cassandra 用于 cassandra 数据库,使用 spring-data-jpa 表示 db2 数据库。
例如:
spring:
datasource:
url: jdbc:db2://myRemoteHost:portNumber/MyDBName
username: username
password: password
driver-class-name: com.ibm.db2.jcc.DB2Driver
data:
cassandra:
cluster-name: cluster name
keyspace-name: keyspace name
port: myPortNumber
contact-points: host1.com
username: username
password: password
注意:此问题与 Spring 引导配置和使用两个数据源 不同。我的问题是知道它是否仅适用于在application.yml文件中配置数据源而无需手动操作,而另一个问题解释了如何手动执行此操作。
我发现它适用于上述情况,因为应用程序使用 spring-data-cassandra 用于 cassandra 数据库,并使用 spring-data-jpa 连接到 db2 数据库。
Spring boot足够聪明,可以找出spring-data-jpa使用哪些存储库和实体,以及spring-data-cassandra使用哪些存储库和实体。
只要你对每个数据库使用不同的 spring 数据类型,它就适用。