From d0bf8faf484ea4863d9b56a098dbbc7d4b0361af Mon Sep 17 00:00:00 2001 From: Sam Brannen <104798+sbrannen@users.noreply.github.com> Date: Fri, 16 May 2025 14:45:52 +0200 Subject: [PATCH] Implement PreparedStatementCallback as lambda expression --- .../jdbc/core/JdbcTemplate.java | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) 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);