Java獲取數據庫連接和關閉數據庫的工具類

這篇文章記錄jdbc連接數據庫和關閉數據庫的方法。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBUtil {
	/**
	 * 打開並且獲取這個數據庫連接
	 * @param driver 數據庫連接驅動驅動類,主要有
	 * <ul>
	 * <li>com.mysql.jdbc.Driver
	 * <li>oracle.jdbc.driver.OracleDriver
	 * </ul>
	 * @param url 數據庫的連接地址,url連接地址示例:
	 * <ul>
	 * <li>jdbc:mysql://127.0.0.1:3600/dbName?useUnicode=true&characterEncoding=utf-8
	 * <li>jdbc:oracle:thin:@127.0.0.1:1526:sid
	 * </ul>
	 * @param user 數據庫登錄用戶名
	 * @param password 數據庫登錄密碼
	 * @return
	 * @throws Exception
	 */
	public static Connection getConnection(String driver,String url,
			String user,String password) throws Exception {
		Class.forName(driver);
		Connection conn = DriverManager.getConnection(url, user, password);
		return conn;
	}
	
	/**
	 * 獲取mysql數據庫連接
	 * @param host 主機地址
	 * @param port 連接端口號
	 * @param dbName 數據庫名稱
	 * @param encoding 編碼
	 * @param user 用戶
	 * @param password 密碼
	 * @return
	 * @throws Exception
	 */
	public static Connection getMysqlConnection(String host, String port, String dbName,String encoding,String user, String password) throws Exception{
		String driver = "com.mysql.jdbc.Driver";
		String url = "jdbc:mysql://"+host+":"+port+"/"+dbName+"?useUnicode=true&characterEncoding="+encoding;
		return getConnection(driver,url, user, password);
	}
	
	/**
	 * 獲取Oracle數據庫連接
	 * @param host 主機地址
	 * @param port 連接端口號
	 * @param sid 數據庫SID
	 * @param user 用戶名
	 * @param password 密碼
	 * @return
	 * @throws Exception
	 */
	public static Connection getOracleConnection(String host, String port, String sid, String user, String password) throws Exception{
		String driver = "oracle.jdbc.driver.OracleDriver";
		String url = "jdbc:oracle:thin:@"+host+":"+port+":"+sid;
		return getConnection(driver, url, user, password);
	}
	
	/**
	 * 關閉數據庫連接
	 * @param conn
	 */
	public static void close(Connection conn){
		if(conn!=null){
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			} finally {
				conn = null;
			}
		}
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章