數據庫連接代碼片段

package com.andy.database;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.ResourceBundle;

/**
 * 數據庫連接工具
 * @author andy
 *
 */
public class ConnectionUtils {
	
	/**
	 * @return
	 */
	public static Connection getConnection(String properties_nam,String url_key,String driver_key,String username_key,String password_key) {
		HashMap<String,String> map = passProperties(properties_nam);
		String url = map.get(url_key);
		String driver = map.get(driver_key);
		String username = map.get(username_key);
		String password = map.get(password_key);
		Connection conn = null;
		try {
			Class.forName(driver);
			conn = DriverManager.getConnection(url, username, password);
			
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
		return conn;
	}
	
	
	
	/**
	 * 解析文件
	 * @return
	 */
	public static HashMap<String,String> passProperties(String properties_name) {
		
		HashMap<String,String> map = new HashMap<String, String>();
		ResourceBundle config = ResourceBundle.getBundle(properties_name);
		Enumeration<String> enu = config.getKeys();
		if(enu != null){
            while(enu.hasMoreElements()){
                String key = (String)enu.nextElement();
                String value = config.getString(key);
                map.put(key, value);
            }
	     }
		return map;
	}
	
	/**
	 * 關閉連接
	 * @param rs
	 * @param stat
	 * @param conn
	 */
	public static void close(ResultSet rs, Statement stat,Connection conn) {
		if(rs != null) {
			try {
				rs.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		} 
		if(stat != null) {
			try {
				stat.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		if(conn != null) {
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}

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