工具类 解决硬编码问题

package JdbcUtils;

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

/*
*jdbc 工具类
 */
public class JdbcUtils {
   private static String url;
   private static String user;
   private static String password;
   private static String driver;
   //文件的读取,只读取一次拿到所有值 使用静态代码块
    static{

       try {
           //读取资源文件  获取值  创建 Prpperties集合类
           Properties pro=new Properties();
           //获得src路径------>ClassLoader()    类加载器
           ClassLoader classLoader = JdbcUtils.class.getClassLoader();//获得类加载器
           URL res = classLoader.getResource("jdbc.properties");//得到资源文件
           String path = res.getPath();  //获取资源文件路径
           pro.load(new FileReader(path));   //冲输入流中读取属性的键和元素
           url=pro.getProperty("url");        //通过properties里边的键来获取值
           user=pro.getProperty("user");
           password=pro.getProperty("password");
           driver = pro.getProperty("driver");
       } catch (IOException e) {
           e.printStackTrace();
       }

   }
       //获取连接对象
    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection(url,user,password);
    }
    //关闭资源
    public static void close(Statement st,Connection conn){
        if(st!=null){
            try {
                st.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(conn!=null){
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
public static void close(ResultSet rs,Statement st,Connection conn){
        if(rs!=null){
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(st!=null){
        try {
            st.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    if (conn!=null){
        try {
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }
}
}




properties文件
jdbc.properties

url=jdbc:mysql:///user
user=root
password=root
driver=com.mysql.jdbc.Driver

 

posted @ 2019-04-02 21:27  芯-觞  阅读(847)  评论(0编辑  收藏  举报