/*
* $Id: DBHelper.java 153194 2010-12-02 02:53:45Z jwesterm $
*/
package com.linkedin.databus2.util;
/*
*
* Copyright 2013 LinkedIn Corp. All rights reserved
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.log4j.Logger;
/**
* Static helper methods for common database operations.
*
* @author Jemiah Westerman<jwesterman@linkedin.com>
* @version $Revision: 153194 $
*/
public class DBHelper
{
public static final String MODULE = DBHelper.class.getName();
public static final Logger LOG = Logger.getLogger(MODULE);
public static void close(ResultSet rs, Statement stmt, Connection con)
{
close(rs);
close(stmt);
close(con);
}
/**
* Close the Connection passed, ignoring any SQLException thrown by the close() method.
*/
public static void close(Connection obj)
{
if(obj != null)
{
try
{
obj.close();
}
catch(SQLException ex)
{
}
}
}
/**
* Close the Statement passed, ignoring any SQLException thrown by the close() method.
*/
public static void close(Statement obj)
{
if(obj != null)
{
try
{
obj.close();
}
catch(SQLException ex)
{
}
}
}
/**
* Close the ResultSet passed, ignoring any SQLException thrown by the close() method.
*/
public static void close(ResultSet obj)
{
if(obj != null)
{
try
{
obj.close();
}
catch(SQLException ex)
{
}
}
}
/**
* Invokes a commit on the connection if auto-commit is turned off
*/
public static void commit(Connection conn)
throws SQLException
{
if (conn != null && !conn.isClosed())
{
if (!conn.getAutoCommit())
conn.commit();
}
else
{
LOG.error("Invoking a commit after the connection closed ");
}
}
/**
* Invokes a rollback on the connection if auto-commit is turned off
*/
public static void rollback(Connection conn)
throws SQLException
{
if (conn != null && !conn.isClosed())
{
if (!conn.getAutoCommit())
conn.rollback();
}
else
{
LOG.error("Invoking a rollback after the connection is closed ");
}
}
}