Java Tomcat中的PreparedStatement缓存

Java Tomcat中的PreparedStatement缓存,java,tomcat,caching,prepared-statement,Java,Tomcat,Caching,Prepared Statement,我正在寻找一种实现PreparedStatement缓存的方法,以避免为过去已执行的查询重新创建PreparedStatement对象 使用Tomcat是否有一些内置的方法来实现这一点?还是我必须自己编写这个缓存?准备语句缓存由JDBC连接池或JDBC驱动程序完成,而不是由Tomcat完成。我相信Tomcat使用并且commons dbcp支持准备语句池 看看吧 poolPreparedStatements false为此池启用PreparedStatement池。也许我在您的提问中遗漏了一些东

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


使用Tomcat是否有一些内置的方法来实现这一点?还是我必须自己编写这个缓存?

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

我相信Tomcat使用并且commons dbcp支持准备语句池

看看吧


poolPreparedStatements false为此池启用PreparedStatement池。

也许我在您的提问中遗漏了一些东西,但是如果您是在“raws”JDBC中进行查询,那么基本上您所需要做的就是保持连接打开并继续引用PreparedStatement。

您没有说明您的数据库,但是如果是SQL Server,那么jTDS驱动程序会在内部为您执行此操作。它都是抽象出来的,所以您不需要编写任何毛茸茸的缓存代码


请参见此处:

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

我想他可能会认为Tomcat提供了这种功能,因为一些J2EE servlet容器将为您管理它。这是一个关于Tomcat的问题。因此,我不知道如何在请求之间保持连接的开放性和可引用性,除非您自己管理连接池。