JDBCUtils工具類的實現

JDBCUtils工具類的實現

需求:

之前的代碼出現過多次的重複性工作,爲了提高代碼的複用性,我們將重複代碼提出來封裝成一個工具類
開發步驟:1.創建jdbcutils類,
     2.私有化構造函數,防止外界直接new對象
     3.提供getConnection,用來對外界提供獲取數據庫連接
     4.提供close方法,用來關閉資源
     5.測試
注意:優化代碼:將配置文件提取到靜態代碼、塊中,     

代碼實現如下:

package on.Util;

import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

/**
 * 這個類是jdbc的工具類
 * 提供getConnection方法
 * 提供close方法
 * 開發步驟:
 * 1.私有化構造函數,防止外界直接new對象
 * 2.提供getConnection,用來對外界提供獲取數據連接
 * 3.提供close方法,用來關閉資源
 * 4.測試
 * @date 2018年3月23日
 *
 */
public class JDBCUtils {
    //將讀取屬性文件放在靜態代碼塊中
    //保證文件只被讀取一次,節省資源
    static Properties prop =null;
    static{
        try{
            //讀取配置文件jdbc.properties
            prop = new Properties();
            String pathname="jdbc.properties";
            prop.load(new FileInputStream(pathname));
        }catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    //1.私有化構造函數,
    // 防止外界直接new對象
    private JDBCUtils(){}
    //2.提供getConnection,
    // 用來對外界提供獲取數據連接
    public static Connection getConnection(){
        try {
            //1.註冊驅動
            Class.forName(
                    prop.getProperty("driverClass"));
            //2.獲取數據庫連接
            Connection conn = DriverManager.getConnection(
                    prop.getProperty("jdbcUrl"),
                    prop.getProperty("user"),
                    prop.getProperty("password"));
            return conn;
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return null;

    }

    // 3.提供close方法,用來關閉資源
    public static void close(Connection conn,Statement st,ResultSet rs){

        if(conn!=null){
            try {
                conn.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                //保證資源一定會被釋放
                conn=null;
            }
        }

        if(st!=null){
            try {
                st.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                //保證資源一定會被釋放
                st=null;
            }
        }

        if(rs!=null){
            try {
                rs.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                //保證資源一定會被釋放
                rs=null;
            }
        }
    }
}

配置文件的開發形式

* 需求
將程序中出現的配置參數,提取到配置文件中,
提高程序的靈活性。
*  開發步驟
創建jdbc.properties,屬性文件。K V,想獲取value通過get方法。 
創建步驟:文件在工程的根目錄下,選中工程名字,右鍵,new,file, 
這裏寫圖片描述
讀取配置文件的數據
這裏寫圖片描述

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