我有一个 spring boot 项目,并且我有一个内部数据库,其中包含 application.properties 上的配置。在这个数据库中,我有一个 Company 表,其中包含与外部数据库的连接信息(所有外部数据库都具有相同的结构)。
我创建了一个在需要时创建数据源的类:
public class PgDataSource {
private static Map<Long, DataSource> dataSourceMap = new HashMap<>();
private static void createDataSource(Company company) {
HikariConfig hikariConfig = new HikariConfig();
hikariConfig.setMaximumPoolSize(10);
hikariConfig.setMinimumIdle(1);
hikariConfig.setJdbcUrl("jdbc:postgresql://"+company.getUrl()+"/"+company.getIdClient());
hikariConfig.setUsername(company.getUsername());
hikariConfig.setPassword(company.getPassword());
dataSourceMap.put(company.getId(), new HikariDataSource(hikariConfig));
}
public static DataSource getDataSource(Company company) {
if (!dataSourceMap.containsKey(company.getId()))
createDataSource(company);
return dataSourceMap.get(company.getId());
}
}
你能告诉我这个解决方案是否是最好的,我是否可以在这个解决方案中使用 JPA?
大话西游666
不负相思意
相关分类