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;
			}
		}
	}
}

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