通过JDBC / ODBC访问数据库时,是否应为每个请求创建并关闭连接?

时间:2009-05-28 13:07:16

标签: database jdbc odbc connectivity

如果你有一个类来处理来自其他类的数据库数据请求,你何时应该保持数据库连接?何时应该关闭它并在下一个请求时重新打开它?

如果它是响应外部应用程序连接的服务怎么办? (Web服务,Ajax,rpc)

保持与数据库的单独连接是一个好主意,数据库始终是打开的,只是在失败时重新打开它?或者您应该为每个请求打开一个新的数据库连接吗?

如果维护一个与数据库始终打开连接的单例数据库对象是一个坏主意,那么在任何情况下这是一个好主意吗?我经常把它看作是Singleton模式的理由吗?

我不是在讨论每个数据库查询的新连接,这很愚蠢。

1 个答案:

答案 0 :(得分:1)

您可能想看看connection pooling

在此方案中,将打开N个连接并使其可供客户端使用。当您“关闭”连接时,连接本身不会关闭,而是返回到池以供其他客户端使用。

Apache DBCP是一个用于管理此功能的有用库。

相关问题