java - 在 dbcp 中使用 PreparedStatement 池

标签 java prepared-statement connection-pooling apache-commons-dbcp

有人能解释一下如何使用 dbcp 准备好的连接池吗? (如果可能的话,使用一些示例代码)。我已经弄清楚如何打开它 - 将 KeyedObjectPoolFactory 传递给 PoolableConnectionFactory。 但是之后具体的prepared statements应该怎么定义呢? 现在我只使用 PoolingDataSource 从池中获取连接。如何使用池中的准备好的语句?

最佳答案

好吧,关于从池中获取连接与获取“非池化”连接,您的代码是否有任何更改:)?我敢打赌你不会。与准备好的语句相同。您的代码不应更改。因此,没有对此有用的代码示例。

您应该阅读有关 JDBC 数据源实现的文档,看看开发人员对池有何看法。没有其他可靠信息来源。

来自 here : 该组件还具有汇集 PreparedStatements 的能力。启用后,将为每个连接创建一个语句池,并且将汇集通过以下方法之一创建的 PreparedStatements:

* public PreparedStatement prepareStatement(String sql)
* public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency)

因此,您只需继续使用 prepareStatement() 调用,理论上您的 dbcp 将负责池化(即,如果您尝试创建“select * from users u where u.name like :id”,它将尝试先在池中找到这条语句)

关于java - 在 dbcp 中使用 PreparedStatement 池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/281744/

相关文章:

java - 如何更改 Java Spring API 中的默认 Swagger 2 api 文档名称

java - 使用 JNDI 在 Tomcat 中共享 servlet session 对象和数据

php - 如何在 Mysqli 准备语句中使用 PHP 常量

java - 具有多行的预准备语句,其中某些行值未设置

java - 使用单例类、Tomcat、C3P0 在 Java Web 应用程序中管理池数据源

java - tomcat 重新部署时的 JDBC 事务行为

django 1.7 和连接池到 PostgreSQL?

java - 将 Equinox 3.2.1 嵌入到 WebSphere 中

java - 在 IntelliJ IDEA 中使用 Maven/pom.xml 声明对 Mockito 的依赖

php - 如何使用 php 使用绑定(bind)变量查询数据库?