春季启动,JPA动态数据源连接

时间:2018-07-02 08:54:55

标签: java spring hibernate spring-boot jpa

我是springhibernateJPA的新手。

我已经用SpringBootJPA建立了一个项目。 我有一个基础数据库,该数据库根据客户ID持有不同的客户数据库名称。 因此,在启动spring boot应用程序时,我使用JPA存储库(直接)连接到基础数据库。

根据我在上一步中获得的数据库名称,现在我必须连接到新数据库以使用JPA获取客户信息。

因为我不预先知道客户数据库名称,所以这样做有问题。 所有数据库均为MySQL

有人可以建议实现这一目标的最佳方法吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试两种方法。

方法1:

您可以使用DataSourceBuilder来获取数据源。

DataSource dataSource = DataSourceBuilder.create()  
    .driverClassName(driver-class-name)   
    .url(env.getProperty(dataSoruceUrl).build();
Connection connection = dataSource.getConnection(username, password);

使用连接可以执行SQL语句。

方法2:

您可以尝试Spring提供的AbstractRoutingDatasource。 Here是有关此问题的指南。

希望有帮助!