From 3676b24d0f28c00907e464c617bae437dda601bb Mon Sep 17 00:00:00 2001 From: lCarLyl Date: Sun, 25 Sep 2022 01:40:41 +0300 Subject: [PATCH] change version and add update --- build.gradle | 2 +- src/main/java/ru/di9/jdbc/JdbcTemplate.java | 2 ++ src/main/java/ru/di9/jdbc/JdbcTemplateImpl.java | 11 +++++++++++ .../java/ru/di9/jdbc/JdbcTemplateTransactional.java | 11 +++++++++++ 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 12648dd..6186e20 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ plugins { } group 'ru.di9' -version '1.9' +version '1.9.1' repositories { mavenCentral() diff --git a/src/main/java/ru/di9/jdbc/JdbcTemplate.java b/src/main/java/ru/di9/jdbc/JdbcTemplate.java index e079cf8..11e6be3 100644 --- a/src/main/java/ru/di9/jdbc/JdbcTemplate.java +++ b/src/main/java/ru/di9/jdbc/JdbcTemplate.java @@ -33,4 +33,6 @@ public interface JdbcTemplate { ResultSetExtractor processGeneratedKey) throws DataAccessException; void transaction(Consumer consumer); + + void update(@Language("GenericSQL") String sql, PreparedStatementProcessor psp); } diff --git a/src/main/java/ru/di9/jdbc/JdbcTemplateImpl.java b/src/main/java/ru/di9/jdbc/JdbcTemplateImpl.java index 038e181..61a4cca 100644 --- a/src/main/java/ru/di9/jdbc/JdbcTemplateImpl.java +++ b/src/main/java/ru/di9/jdbc/JdbcTemplateImpl.java @@ -145,6 +145,17 @@ public class JdbcTemplateImpl implements JdbcTemplate { } } + @Override + public void update(String sql, PreparedStatementProcessor psp) { + try (PreparedStatement statement = dataSource.getConnection().prepareStatement(sql)){ + psp.process(statement); + + statement.executeUpdate(); + }catch (SQLException e){ + throw throwDataAccessException(sql, e); + } + } + private ResultSetExtractor> createResultSetExtractorList(final RowMapper rowMapper) { return rs -> { List resultList; diff --git a/src/main/java/ru/di9/jdbc/JdbcTemplateTransactional.java b/src/main/java/ru/di9/jdbc/JdbcTemplateTransactional.java index b5b6d46..4e53eb7 100644 --- a/src/main/java/ru/di9/jdbc/JdbcTemplateTransactional.java +++ b/src/main/java/ru/di9/jdbc/JdbcTemplateTransactional.java @@ -112,6 +112,17 @@ public class JdbcTemplateTransactional implements JdbcTemplate, AutoCloseable { consumer.accept(this); } + @Override + public void update(String sql, PreparedStatementProcessor psp) { + try (PreparedStatement statement = connection.prepareStatement(sql)) { + psp.process(statement); + + statement.executeUpdate(); + } catch (SQLException e) { + throw throwDataAccessException(sql, e); + } + } + private ResultSetExtractor> createResultSetExtractorList(final RowMapper rowMapper) { return rs -> { List resultList;