Since JDBC 3.0 the data source layer is now responsible for caching prepared statements.
So, existing code (pre-JDBC 3.0) running under JDBC 3.0 will automatically leverage PreperedStatement pooling
Prepared statements introduce significant overhead but used with a connection pool
they will improve performance even if executed just once over their lifetime
PreparedStatement objects are cached per a JDBC connection
Using PreparedStatement objects under JDBC 3.0 you have full control over which prepared statements are cached and pooled
PreparedStatement objects used in a connection pool will improve performance
only with special code options introduced by JDBC 3.0
Since JDBC2.0 PreparedStatement objects are automatically cached per a connection pool but not per a JDBC connection
|