2009-06-03 59 views
5

我正在寻找一种实现PreparedStatement缓存的方法,以便为过去已经执行的查询重新创建PreparedStatement对象。Tomcat中的PreparedStatement缓存

有没有一些内置的方式来实现这个使用Tomcat?或者我必须自己编写这个缓存?

回答

2

准备好的语句缓存由Tomcat的JDBC连接池或您的JDBC驱动程序而不是完成。

+0

我想他可能是Tomcat提供的,因为有些J2EE servlet容器会为你管理 – 2009-06-03 15:56:07

3

我相信tomcat使用commons-dbcp而commons-dbcp支持准备语句池。

检查出来here

poolPreparedStatements false为此池启用预准备语句池。

0

也许我错过了你要求的东西,但是如果你在“raws”JDBC中进行查询,那么基本上所有你需要做的就是保持连接打开并继续参考PreparedStatement。

+0

这是一个关于Tomcat的问题。所以我不明白连接如何在请求之间保持打开和引用,除非你自己管理连接池。 – Ovesh 2009-06-03 18:29:15

1

DB2 JDBC驱动程序(JCC)使用像maxStatements JDBC连接属性= 10;它会缓存连接的语句。池不需要缓存它们。