gpt4 book ai didi

java - 具有在运行时创建的多个数据源的 Spring Boot 和 Spring Data 应用程序

转载 作者:IT老高 更新时间:2023-10-28 13:50:19 25 4
gpt4 key购买 nike

我正在开发一个使用 Spring Data JPA 的 Spring Boot 应用程序,并且需要连接到许多不同的数据库,例如PostreSQL、MySQL、MS-SQL、MongoDB。我需要在运行时创建所有数据源,即用户在启动的应用程序中通过 GUI 选择这些数据:-驱动程序(列表之一),-资源,-港口,-用户名,-密码。毕竟,他将 native sql 写入选择的数据库并获得结果。我在 stack 和 spring 论坛(例如 AbstractRoutingDataSource)中阅读了很多关于它的内容,但所有这些教程都展示了如何从 xml 配置或 java bean 中的静态定义创建数据源。可以在运行时创建许多数据源吗?如何管理事务以及如何创建多个 sessionFactories?可以使用@Transactional 注释吗?最好的方法是什么?有人可以解释我如何“一步一步”做到这一点吗?

最佳答案

希望答案还为时不晚 ;)

我开发了一个可以轻松集成到任何 Spring 项目中的模块。它使用元数据源来保存租户数据源连接详细信息。对于租户数据源,使用 AbstractRoutingDataSource。

在这里,您可以找到我使用 AbstractRoutingDataSource 的核心实现。 https://github.com/Dactabird/multitenancy

这是一个展示如何集成它的示例。 https://github.com/Dactabird/multitenancy-sample在此示例中,我使用的是 H2 嵌入式数据库。当然,你可以使用任何你想要的东西。

请随时根据您的目的对其进行修改或询问是否有问题!

关于java - 具有在运行时创建的多个数据源的 Spring Boot 和 Spring Data 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29088006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com