我需要查詢數據庫的數量。數據庫的數量可能會有所不同。CrudRepository項目列表
有能力通過列表來迭代它們看起來很方便。
這是一個好主意,還是至少可以有一個存儲庫列表連接到不同的數據源或有另一種更好的方法?我已閱讀How to use 2 or more databases with spring? 。爲了實現它,我必須知道數據庫的數量,但它可能會有所不同。
我想:
@Entity
public class Member{}
public interface MemberRepository extends CrudRepository<Member, Long> {
}
@Component
@ConfigurationProperties("myClass")
public class MyClass {
@Autowired
private MemberRepository memberRepository;
}
@Component
@ConfigurationProperties("myClassHub")
public class MyClassHub {
@Autowired
private List<MyClass> myClasses;
}
這看起來合乎邏輯的我。但我不明白如何配置這個列表項。 這種配置不起作用。
application.yml
myClassHub:
myClasses:
-
spring:
datasource:
url: jdbc:mysql://url
username: username
password: password
-
spring:
datasource:
url: jdbc:mysql://url
username: username
password: password
在pom.xml中,我有:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
我也想過用AbstractRoutingDataSource,但類的架構將變得過於複雜,不符合邏輯。
我有一個建議,嘗試SimpleJpaRepository。 (https://stackoverflow.com/questions/22116005/how-to-create-jpa-repository-dynamically-inside-a-class)。看起來很有希望。 –