java - 在运行时以编程方式定义和删除 Spring Boot/Spring JPA 数据源?

标签 java spring spring-boot spring-data spring-data-jpa

我需要在运行时动态创建 Spring Boot 数据源。有人知道怎么做吗。实际上,我需要按需执行此操作:

spring:
  datasource:
    url: jdbc:h2:mem:testdb1;
    username: sa
    password:
    driver-class-name: org.h2.Driver
    platform: h2

spring:
  datasource:
    url: jdbc:h2:mem:testdb2;
    username: sa
    password:
    driver-class-name: org.h2.Driver
    platform: h2

...

spring:
  datasource:
    url: jdbc:h2:mem:testdbN;
    username: sa
    password:
    driver-class-name: org.h2.Driver
    platform: h2

想法?

最佳答案

尝试以下方式以编程方式创建数据源

DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setUrl("jdbc:h2:mem:testdb1");
dataSource.setUsername("sa");
dataSource.setPassword("");
dataSource.setDriverClassName("org.h2.Driver");

关于java - 在运行时以编程方式定义和删除 Spring Boot/Spring JPA 数据源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41886660/

相关文章:

Spring Cloud Gateway 无法负载平衡并给出错误 500

java - XSD 断言可以用于指定 WSDL 文件吗

java - 输入 2 个变量(用户输入 "Buffered Reader")传递给一个类?

java - 如何停止正在启动的 Spring Boot 应用程序?

mysql - 通讯链路故障-MySQL+JDBC

java - 后端如何生成验证规则?

java - 使用Spring Boot根据输入请求中的字段创建类链的不同实例

java - 矩阵无法解析为变量

spring - 请使用 'MongoMappingContext#setAutoIndexCreation(boolean)' 或覆盖 'MongoConfigurationSupport#autoIndexCreation()' 以明确

java - 不同语言环境下的 Grails 命令对象数据绑定(bind)行为