小编典典

在dbcp中使用PreparedStatement池

java

有人可以解释如何使用完全准备好的使用dbcp的连接池吗?(如果可能,请提供一些示例代码)。我已经弄清楚了如何打开它-
将KeyedObjectPoolFactory传递给PoolableConnectionFactory。但是,那之后如何定义特定的准备好的语句呢?现在,我仅使用PoolingDataSource从池中获取连接。如何使用池中准备好的语句?


阅读 218

收藏
2020-11-01

共1个答案

小编典典

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

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

这里开始:该组件还具有池PreparedStatements的功能。启用后,将为每个Connection创建一个语句池,并且将合并由以下方法之一创建的PreparedStatement:

* 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”,它将尝试查找此语句)首先在游泳池里)

2020-11-01