JDBCUtils工具类

GDBCUtils工具类:

配置文件:

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/day09_many2many
username=root
password=root

 

  用配置文件的形式加载url,username,password,实现JDBC连接

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
/*
 * JDBCUtils工具类
 */
import java.util.Properties;

import com.mysql.jdbc.Statement;
public class JDBCUtils {
    //定义私有化的成员变量
    private static Connection con;
    private static Properties pro = new Properties();
    
    //定义静态代码块,加载配置文件
    static {
        //类加载器方法,加载配置文件,返回一个输入流对象
        InputStream in = JDBCUtils.class.getClassLoader().getResourceAsStream("database.properties");
        try {
            //注册驱动
            pro.load(in);
            Class.forName(pro.getProperty("driver"));
            con = DriverManager.getConnection(pro.getProperty("url"), pro.getProperty("username"), pro.getProperty("password"));
        } catch (Exception ex) {
            ex.printStackTrace();
            throw new RuntimeException("数据库连接失败");
        }
    }
    
    //定义公共的方法,返回con
    public static Connection getConnection(){
        return con;
    }
    
    //定义静态方法,释放资源
    public static void close(Connection con,Statement ps ,ResultSet rs){
        try {
            if(con != null){
            con.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException("释放Connection失败");
        } finally{
            try {
                if(ps != null){
                ps.close();
                }
            } catch (Exception e) {
                e.printStackTrace();
                throw new RuntimeException("释放Statement失败");
            } finally{
                try {
                    if(rs != null){
                    rs.close();
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                    throw new RuntimeException("释放Statement失败");
                } finally{
                    //System.out.println("释放资源结束");
                }
            }
        }
    }
}


posted @ 2017-03-29 19:07  sunoom  阅读(149)  评论(0)    收藏  举报