JdbcUtils

JdbcUtils.java
package com.ghsy.utils;

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


public class JdbcUtils {
	//主函數用於測試
	public static void main(String[] args) {
		JdbcUtils.getConnection();
	}
	private static Connection conn=null;
	static{
		//0解析properties文件,位置src,類路徑WEB-INF/classes
		/**ResourceBundle資源束對象,可以根據指定的本地文件獲取資源束對象,並且可以通過這個對象
		 * 來獲得,指定的資源文件中配置的鍵值對的信息。這個對象常用於做國際化使用,也用於類似的配置文件
		 * 的讀取操作,注意ResourceBundle是一個抽象類,不能直接new對象,當其中提供了一個靜態方法
		 * getBundle()來獲取資源束對象*/
		ResourceBundle myResources =ResourceBundle.getBundle("jdbcInfo");//只需要編寫文件名稱就可以了。
		String driver=myResources.getString("driver");
		String url=myResources.getString("url");
		String user=myResources.getString("user");
		String password=myResources.getString("password");
		System.out.println("Test:driver:"+driver+",url:"+url+",user:"+user+",password:"+password);
		try {
			//註冊驅動,獲取連接
			Class.forName(driver);
			conn = DriverManager.getConnection(url, user, password);
		} catch (Exception e) {
			// TODO: handle exception
			throw new RuntimeException();
		}
	
	}
	public static Connection getConnection() {
		return conn;
	}
	public static void  closeResource(Connection connection,Statement statement,ResultSet set) {
		try {
			if(connection!=null)
			connection.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			try {
				if(statement!=null)
				statement.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}finally{
				try {
					if(set!=null)
					set.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
	}
}

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