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