工具类

驱动注册,连接对象创建,其中包括输入驱动,数据库的地址,以及用户名和密码,每次编写代码都需要重复编写,如果每次使用的都是同一个账户的同一个数据库,代码的重复读很高,甚至如果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();
        }
    }

}

}

posted @ 2020-10-27 21:18  月雨生  阅读(213)  评论(0)    收藏  举报