如何管理与动态创建的数据库的连接

2022-09-04 21:45:51

我需要在我的 Web 应用中管理与多个数据库的连接。以下是有关当前实现的事实:

1-我使用雄猫

2-数据库在运行时动态创建(我正在使用mysql)

毫无疑问,拥有一个连接池来管理数据库连接是最佳的。由于数据库在应用程序开始时是未知的,因此我无法设置数据源并建立连接池。(我在Tomcat中找不到一种方法来制作动态连接池:在运行时创建的连接池)。

我的问题是:我还有哪些其他选择可以有效地处理与多个数据库的连接?(我自己没有实现连接池的经验)是否有任何库可以与tomcat一起使用,并允许我在运行时与不同的数据库建立多个连接池?如果不是,你建议我做什么而不是连接池?我对这个问题相当陌生,因此,如果我搞砸了概念,请纠正并指导我。

提前感谢您。


答案 1

MySQL JDBC 驱动程序允许从连接 URL 中省略数据库名称,如下所示:

jdbc:mysql://localhost:3306

您只需通过 Connection#setCatalog() 或直接在 SQL 查询中指定数据库。另请参阅其参考文档

如果未指定,则将在没有默认数据库的情况下建立连接。在这种情况下,您需要在实例上调用该方法,或者使用 SQL 中的数据库名称(即 )完全指定表名。不指定连接时使用的数据库通常仅在构建使用多个数据库的工具(如 GUI 数据库管理器)时才有用。databasesetCatalog()ConnectionSELECT dbname.tablename.colname FROM dbname.tablename...

这允许您在 Tomcat 中创建单个可重用的连接池数据源。您可能只需要重写连接管理器和/或 SQL 查询。


答案 2

有足够的连接池框架在开放。Proxool绝对是最好的。它非常灵活且易于使用。


推荐