【问题标题】:PreparedStatement Pool with Connection Pool [duplicate]带连接池的 PreparedStatement 池 [重复]
【发布时间】:2012-08-09 18:06:56
【问题描述】:

可能重复:
Prepared statement pooling in dbcp

我正在构建一个使用 Tomcat 的数据库连接池机制供其内部使用的 Web 应用程序。我也在尝试汇集准备好的语句,以便应用程序更有效地检索数据。

据我了解,当连接、结果集和语句关闭时,连接会返回到池中。如果设置了适当的标志,放弃的连接也会关闭并返回到池中。关闭连接意味着释放所有数据库游标和缓存语句,包括准备好的语句。那么准备好的语句池有什么意义呢?

【问题讨论】:

    标签: java tomcat jdbc-pool


    【解决方案1】:

    一个通用的答案:)

    连接对象并没有真正关闭,而是仅在您调用 close() 时返回到池中,并且准备好的语句池在每个连接的基础上工作,只要连接对象保持活动状态,它们就会被缓存。

    【讨论】:

    • 这里的关键见解是池为您提供的对象不是真正的连接和语句,它们是包装器。当您关闭它们时,您将真实的东西返回到池中,而不是关闭它们。
    • 我到处都在期待这个答案,但找不到。我读到 Apache Commons DBCP 有一个名为 {PoolableConnection} 的包装类,其中调用 close() 只是返回对象而不关闭连接,但我不确定。感谢您的信息。
    猜你喜欢
    • 2018-09-10
    • 1970-01-01
    • 2013-08-20
    • 2011-06-11
    • 2011-03-06
    • 2016-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多