我正在开发一个使用Spring Data JPA的Spring Boot应用程序,需要连接许多不同的数据库,例如PostgreSQL、MySQL、MS-SQL和MongoDB等。
我需要在运行时创建所有数据源,即用户通过GUI在启动的应用程序中选择这些数据:
- 驱动程序(列表中的一个)
- 源
- 端口
- 用户名
- 密码
最后,他会写原生SQL到所选的数据库并获取结果。
我在Stack和Spring论坛上读了很多关于它的文章(例如AbstractRoutingDataSource),但是所有这些教程都展示如何从XML配置或Java bean的静态定义创建数据源。是否有可能在运行时创建多个数据源?如何管理事务以及如何创建多个sessionFactory?可以使用@Transactional注释吗?最好的方法是什么?有人能够“逐步”向我解释如何做到这一点吗?