This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-dbutils.git
commit e0352600617a0787796aaba4f56c5cf79a2976ec Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Mon Jul 31 14:56:21 2023 -0400 Method that allocates a resources should release it. Use try-with-resources --- .../org/apache/commons/dbutils/QueryRunner.java | 40 +++++----------------- 1 file changed, 8 insertions(+), 32 deletions(-) diff --git a/src/main/java/org/apache/commons/dbutils/QueryRunner.java b/src/main/java/org/apache/commons/dbutils/QueryRunner.java index ca1673e..d08dbde 100644 --- a/src/main/java/org/apache/commons/dbutils/QueryRunner.java +++ b/src/main/java/org/apache/commons/dbutils/QueryRunner.java @@ -456,33 +456,26 @@ public class QueryRunner extends AbstractQueryRunner { /** * Executes the given batch of INSERT SQL statements. - * @param conn The connection to use for the query call. - * @param closeConn True if the connection should be closed, false otherwise. - * @param sql The SQL statement to execute. + * @param <T> The type of object that the handler returns + * @param conn The connection to use to run the query. + * @param sql The SQL to execute. * @param rsh The handler used to create the result object from * the {@code ResultSet} of auto-generated keys. * @param params The query replacement parameters. * @return The result generated by the handler. - * @throws SQLException If there are database or parameter errors. + * @throws SQLException if a database access error occurs * @since 1.6 */ - private <T> T insertBatch(final Connection conn, final boolean closeConn, final String sql, final ResultSetHandler<T> rsh, final Object[][] params) - throws SQLException { + public <T> T insertBatch(final Connection conn, final String sql, final ResultSetHandler<T> rsh, final Object[][] params) throws SQLException { if (conn == null) { throw new SQLException("Null connection"); } if (sql == null) { - if (closeConn) { - close(conn); - } throw new SQLException("Null SQL statement"); } if (params == null) { - if (closeConn) { - close(conn); - } throw new SQLException("Null parameters. If parameters aren't need, pass an empty array."); } @@ -503,30 +496,11 @@ public class QueryRunner extends AbstractQueryRunner { this.rethrow(e, sql, (Object[])params); } finally { close(stmt); - if (closeConn) { - close(conn); - } } return generatedKeys; } - /** - * Executes the given batch of INSERT SQL statements. - * @param <T> The type of object that the handler returns - * @param conn The connection to use to run the query. - * @param sql The SQL to execute. - * @param rsh The handler used to create the result object from - * the {@code ResultSet} of auto-generated keys. - * @param params The query replacement parameters. - * @return The result generated by the handler. - * @throws SQLException if a database access error occurs - * @since 1.6 - */ - public <T> T insertBatch(final Connection conn, final String sql, final ResultSetHandler<T> rsh, final Object[][] params) throws SQLException { - return insertBatch(conn, false, sql, rsh, params); - } - /** * Executes the given batch of INSERT SQL statements. The * {@code Connection} is retrieved from the {@code DataSource} @@ -542,7 +516,9 @@ public class QueryRunner extends AbstractQueryRunner { * @since 1.6 */ public <T> T insertBatch(final String sql, final ResultSetHandler<T> rsh, final Object[][] params) throws SQLException { - return insertBatch(this.prepareConnection(), true, sql, rsh, params); + try (Connection conn = this.prepareConnection()) { + return insertBatch(conn, sql, rsh, params); + } } /**