5 Commits

Author SHA1 Message Date
lcarlyl
1ab82458eb Merge remote-tracking branch 'origin/master' 2022-11-30 16:58:46 +03:00
lcarlyl
515570f057 fix query 2022-11-30 16:56:42 +03:00
DmitriyMX
8dba178348 Merge pull request 'change version and add update' (#1) from feature/update into master
Reviewed-on: https://dev.di9.ru/gitea/dmitriymx/jdbc-template/pulls/1
2022-09-25 02:02:50 +03:00
lCarLyl
4574c841d8 add throws DataAccessException 2022-09-25 01:59:55 +03:00
lCarLyl
c4d459c461 add throws DataAccessException 2022-09-25 01:57:58 +03:00
4 changed files with 9 additions and 7 deletions

View File

@@ -5,7 +5,7 @@ plugins {
}
group 'ru.di9'
version '1.9.1'
version '1.9.2'
repositories {
mavenCentral()

View File

@@ -15,10 +15,10 @@ public interface JdbcTemplate {
<T> T query(@Language("GenericSQL") String sql, ResultSetExtractor<T> rse) throws DataAccessException;
<T> T query(@Language("GenericSQL") String sql, PreparedStatementProcessor psp, ResultSetExtractor<T> rse)
throws DataAccessException;
throws DataAccessException;
<T> Optional<T> queryOne(@Language("GenericSQL") String sql, ResultSetExtractor<T> rse)
throws DataAccessException;
throws DataAccessException;
<T> Optional<T> queryOne(@Language("GenericSQL") String sql, PreparedStatementProcessor psp,
ResultSetExtractor<T> rse) throws DataAccessException;
@@ -34,5 +34,5 @@ public interface JdbcTemplate {
void transaction(Consumer<JdbcTemplate> consumer);
void update(@Language("GenericSQL") String sql, PreparedStatementProcessor psp);
void update(@Language("GenericSQL") String sql, PreparedStatementProcessor psp) throws DataAccessException;
}

View File

@@ -1,6 +1,7 @@
package ru.di9.jdbc;
import org.intellij.lang.annotations.Language;
import org.jetbrains.annotations.Nullable;
import javax.sql.DataSource;
import java.sql.*;
@@ -50,13 +51,14 @@ public class JdbcTemplateImpl implements JdbcTemplate {
}
@Override
@Nullable
public <T> T query(@Language("GenericSQL") String sql, PreparedStatementProcessor psp,
ResultSetExtractor<T> rse) throws DataAccessException {
try (Connection connection = dataSource.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
psp.process(preparedStatement);
try (ResultSet resultSet = preparedStatement.executeQuery()) {
return resultSet.next() ? rse.extractData(resultSet) : null;
return rse.extractData(resultSet);
}
} catch (SQLException e) {
throw throwDataAccessException(sql, e);
@@ -146,7 +148,7 @@ public class JdbcTemplateImpl implements JdbcTemplate {
}
@Override
public void update(String sql, PreparedStatementProcessor psp) {
public void update(String sql, PreparedStatementProcessor psp) throws DataAccessException {
try (PreparedStatement statement = dataSource.getConnection().prepareStatement(sql)){
psp.process(statement);

View File

@@ -113,7 +113,7 @@ public class JdbcTemplateTransactional implements JdbcTemplate, AutoCloseable {
}
@Override
public void update(String sql, PreparedStatementProcessor psp) {
public void update(String sql, PreparedStatementProcessor psp) throws DataAccessException {
try (PreparedStatement statement = connection.prepareStatement(sql)) {
psp.process(statement);