1. 程式人生 > 實用技巧 >Redis快取系列--(二)Redis持久化機制

Redis快取系列--(二)Redis持久化機制

驅動註冊,連線物件建立,其中包括輸入驅動,資料庫的地址,以及使用者名稱和密碼,每次編寫程式碼都需要重複編寫,如果每次使用的都是同一個賬戶的同一個資料庫,程式碼的重複讀很高,甚至如果sql語句相同,或者都是查詢語句時,會建立的statement物件,而物件的銷燬程式也是一模一樣。面對這樣高度重複的程式碼,我們需要對其進行封裝。像資料庫資訊這種可能會變更的資訊,我們可以寫一個數據庫的配置檔案,當用戶的資料庫資訊不變時,直接使用其中的資訊即可,如果有變更,直接更改配置檔案,再進行資料讀寫。package jdbc04;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLDecoder;
import java.sql.*;
import java.util.Properties;

public class jdbc_util {
private static String url=null;
private static String user=null;
private static String password=null;
private static String driver=null;
static {
Properties properties = new Properties();
ClassLoader classLoader = jdbc_util.class.getClassLoader();
URL resource = classLoader.getResource("jdbc.properties");
String path = resource.getPath();
try {
path= URLDecoder.decode(path,"UTF-8");
properties.load(new FileReader(path));
url = properties.getProperty("url");
user = properties.getProperty("user");
password = properties.getProperty("password");
driver = properties.getProperty("driver");
Class.forName(driver);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}

}
public  static Connection getconnecton(){
    try {
        return DriverManager.getConnection(url,user,password);
    } catch (SQLException e) {
        e.printStackTrace();
        return null;
    }
}
public static void result(Statement stat,Connection conn){
    if (stat!=null){
        try {
            stat.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    if (conn!=null){
        try {
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
public static void result(Statement stat, Connection conn, ResultSet resultSet){
    if(resultSet!=null){
        try {
            resultSet.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();
        }
    }

}

}