java 數據庫操作類

y37f 9年前發布 | 1K 次閱讀 Java

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import org.apache.log4j.Logger;
public class DBConnection {
    /**

 * @param path
 * @return Connection
 * wgy
 */
public static Connection getConn(String classDriver, String url,
        String user, String pwd) {
    try {
        Class.forName(classDriver);
        return DriverManager.getConnection(url, user, pwd);
    } catch (ClassNotFoundException ex) {
        ex.printStackTrace();
    } catch (SQLException ex) {
        ex.printStackTrace();
    }
    return null;
}
public static Connection getConn(DataSource dataSource) {
    try {
        return dataSource.getConnection();
    } catch (SQLException ex) {
        ex.printStackTrace();
    }
    return null;
}
public static Connection getConn(String jndiName) {
    try {
        Context ctx;
        ctx = new InitialContext();
        DataSource dataSource = (DataSource) ctx.lookup("java:comp/env/"
                + jndiName);
        return dataSource.getConnection();
    } catch (NamingException ex) {
        ex.printStackTrace();
    } catch (SQLException ex) {
        ex.printStackTrace();
    }
    return null;
}
public static Connection getConn(Properties properties) {
    try {
        String driver = properties.getProperty("jdbc.driverClassName");
        String url = properties.getProperty("jdbc.url");
        String user = properties.getProperty("jdbc.username");
        String password = properties.getProperty("jdbc.password");
        Class.forName(driver);
        return DriverManager.getConnection(url, user, password);
    } catch (ClassNotFoundException ex) {
        ex.printStackTrace();
    } catch (SQLException ex) {
        ex.printStackTrace();
    }
    return null;
}
/**
 * oracle
 *
 * @param path
 * @return Connection
 */
public static Connection getOracleConn(String url, String user, String pwd) {
    try {
        Class.forName("oracle.jdbc.driver.OracleDriver");
        return DriverManager.getConnection(url, user, pwd);
    } catch (ClassNotFoundException ex) {
        ex.printStackTrace();
    } catch (SQLException ex) {
        ex.printStackTrace();
    }
    return null;
}
/**
 * mysql
 *
 * @param path
 * @return Connection
 */
public static Connection getMysqlConn(String url, String user, String pwd) {
    try {
        Class.forName("com.mysql.jdbc.Driver");
        return DriverManager.getConnection(url, user, pwd);
    } catch (ClassNotFoundException ex) {
        ex.printStackTrace();
    } catch (SQLException ex) {
        ex.printStackTrace();
    }
    return null;
}
/**
 * Access????
 *
 * @param path
 * @return Connection
 */
public static Connection getAccessConn(String path) {
    try {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        String url = "jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ="
                + path;
        return DriverManager.getConnection(url, "", "");
    } catch (ClassNotFoundException ex) {
        ex.printStackTrace();
    } catch (SQLException ex) {
        ex.printStackTrace();
    }
    return null;
}
public static void close(Object... objects) {
    try {
        for (Object object : objects) {
            if (object != null) {

                if (object instanceof ResultSet) {
                    ResultSet rs = (ResultSet) object;
                    rs.close();
                    log.info("ResultSet close");
                } else if (object instanceof Statement) {
                    Statement stmt = (Statement) object;
                    stmt.close();
                    log.info("Statement close");
                } else if (object instanceof Connection) {
                    Connection conn = (Connection) object;
                    conn.close();
                    log.info("Connection close");
                }
            }
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

private static Logger log = Logger.getRootLogger();

}</pre>

 本文由用戶 y37f 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!