我是spring
,hibernate
和JPA
的新手。
我已经用SpringBoot
和JPA
建立了一个项目。
我有一个基础数据库,该数据库根据客户ID持有不同的客户数据库名称。
因此,在启动spring boot
应用程序时,我使用JPA
存储库(直接)连接到基础数据库。
根据我在上一步中获得的数据库名称,现在我必须连接到新数据库以使用JPA
获取客户信息。
因为我不预先知道客户数据库名称,所以这样做有问题。
所有数据库均为MySQL
。
有人可以建议实现这一目标的最佳方法吗?
答案 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是有关此问题的指南。
希望有帮助!