diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/JdbcTemplate.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/JdbcTemplate.java index c09cc68dec2..32d28ba94b2 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/JdbcTemplate.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/JdbcTemplate.java @@ -707,22 +707,19 @@ public class JdbcTemplate extends JdbcAccessor implements JdbcOperations { Assert.notNull(rse, "ResultSetExtractor must not be null"); logger.debug("Executing prepared SQL query"); - return execute(psc, new PreparedStatementCallback<>() { - @Override - public @Nullable T doInPreparedStatement(PreparedStatement ps) throws SQLException { - ResultSet rs = null; - try { - if (pss != null) { - pss.setValues(ps); - } - rs = ps.executeQuery(); - return rse.extractData(rs); + return execute(psc, (PreparedStatementCallback) ps -> { + ResultSet rs = null; + try { + if (pss != null) { + pss.setValues(ps); } - finally { - JdbcUtils.closeResultSet(rs); - if (pss instanceof ParameterDisposer parameterDisposer) { - parameterDisposer.cleanupParameters(); - } + rs = ps.executeQuery(); + return rse.extractData(rs); + } + finally { + JdbcUtils.closeResultSet(rs); + if (pss instanceof ParameterDisposer parameterDisposer) { + parameterDisposer.cleanupParameters(); } } }, true);