【发布时间】:2020-11-04 15:30:01
【问题描述】:
我需要为我的项目创建一个基于 SAAS 的版本:当新客户注册时,将为该特定客户创建一个新数据库;在我的 Spring Boot 代码中,需要在运行时为该客户端注册一个新的 JdbcTemplate bean。
已完成数据库部分的创建,但我需要知道是否有办法在运行时创建新的自定义 Jdbctemplate bean。
我已经有了为所有查询添加数据库前缀的想法,但我想知道还有其他可行的选择。
【问题讨论】:
-
动态 JdbcTemplate 也将需要动态 DataSource,而后者又需要动态数据库凭据。您能否确认您是否已经在运行时为每个新客户端提供了可发现的数据库凭据?我将能够相应地分享解决方案大纲。
-
在我们的 SAAS 模型中,每当注册新客户端时,都会使用脚本创建数据库。因此,我们将有一个主表来映射客户端 ID 和数据库名称。因此,客户端 ID 将作为参数发送给所有 API,基于该客户端 ID,需要使用相应客户端 ID 的数据库动态创建 JDBCTemplate。
标签: mysql spring-boot spring-jdbc jdbctemplate