gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-29 00:12:12 25 4
gpt4 key购买 nike

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

1- 我用的是 Tomcat

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

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

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

提前谢谢你。

最佳答案

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

jdbc:mysql://localhost:3306

只需要通过Connection#setCatalog()指定数据库即可或者直接在 SQL 查询中。另见其 reference documentation :

If the database is not specified, the connection will be made with no default database. In this case, you will need to either call the setCatalog() method on the Connection instance or fully specify table names using the database name (that is, SELECT dbname.tablename.colname FROM dbname.tablename...) in your SQL. Not specifying the database to use upon connection is generally only useful when building tools that work with multiple databases, such as GUI database managers.

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

关于java - 如何管理与动态创建的数据库的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7195556/

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