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}