001package org.avaje.dbmigration.util; 002 003import org.slf4j.Logger; 004import org.slf4j.LoggerFactory; 005 006import java.sql.Connection; 007import java.sql.PreparedStatement; 008import java.sql.ResultSet; 009import java.sql.SQLException; 010 011/** 012 * Utility for closing raw Jdbc resources. 013 */ 014public class JdbcClose { 015 016 private static final Logger logger = LoggerFactory.getLogger(JdbcClose.class); 017 018 /** 019 * Close the connection logging if an error occurs. 020 */ 021 public static void close(Connection connection) { 022 try { 023 connection.close(); 024 } catch (SQLException e) { 025 logger.warn("Error closing connection", e); 026 } 027 } 028 029 /** 030 * Rollback the connection logging if an error occurs. 031 */ 032 public static void rollback(Connection connection) { 033 try { 034 connection.rollback(); 035 } catch (SQLException e) { 036 logger.warn("Error on connection rollback", e); 037 } 038 } 039 040 public static void close(PreparedStatement query) { 041 try { 042 query.close(); 043 } catch (SQLException e) { 044 logger.warn("Error closing PreparedStatement", e); 045 } 046 } 047 048 public static void close(ResultSet resultSet) { 049 try { 050 resultSet.close(); 051 } catch (SQLException e) { 052 logger.warn("Error closing resultSet", e); 053 } 054 } 055}