我需要在Web应用程序中管理与多个数据库的连接。以下是有关当前实施的事实:
1-我使用Tomcat
2-数据库在运行时动态创建(我正在使用mysql)
毫无疑问,拥有一个连接池来管理数据库连接是最佳选择。由于数据库在应用程序启动时未知,因此我无法设置数据源并建立连接池。(我在Tomcat中找不到建立动态连接池的方法:在运行时创建的连接池)。
我的问题是:与多个数据库建立连接时,我还需要哪些其他选择才能有效地工作?(我自己没有实现连接池的经验)是否有可以与tomcat一起使用的库,并允许我在运行时建立到不同数据库的多个连接池?如果不是,您建议我代替连接池做什么?我对这个问题还很陌生,因此如果我弄乱了概念,请纠正并指导我。
先感谢您。
MySQL JDBC驱动程序允许从连接URL中省略数据库名称,如下所示:
jdbc:mysql://本地主机:3306
您只需要通过Connection#setCatalog()SQL查询或直接在SQL查询中指定数据库。另请参阅其参考文档:
Connection#setCatalog()
如果database未指定,则将不使用默认数据库进行连接。在这种情况下,您将需要setCatalog()在Connection实例上调用方法或使用SELECT dbname.tablename.colname FROM dbname.tablename...SQL中的数据库名称(即)完全指定表名称。通常,仅在构建可与多个数据库一起使用的工具(例如GUI数据库管理器)时,才指定未指定要在连接时使用的数据库才有用。
database
setCatalog()
Connection
SELECT dbname.tablename.colname FROM dbname.tablename...
这使您可以在Tomcat中创建单个可重用的连接池数据源。您可能只需要重写连接管理器和/或SQL查询。