通过读取配置文件中的数据库信息,该工具类返回一个Connection连接对象,并且封装了close方法
package com.java.jdbcutil; /* * 获取数据库连接,返回一个Connection实例对象 */ import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; public class JDBCUtils { //私有构造器,防止此类被创建 private JDBCUtils(){} private static Connection conn; private static String url = null; private static String username = null; private static String password = null; private static String driver = null; /* * 静态代码块,连接数据库 * 用户只需要连接一次数据库即可,不需要每次需要的时候都连接一次 */ static{ try { readConfig(); Class.forName(driver); conn = DriverManager.getConnection(url, username, password); } catch (Exception e) { throw new RuntimeException(e.getMessage() + "数据库连接失败!"); } } /* * 获取配置文件中的MySQL数据库信息 */ private static void readConfig() throws IOException{ //通过类的加载器获取指定文件目录 InputStream in = JDBCUtils.class.getClassLoader().getResourceAsStream("db.properties"); // FileReader fr = new FileReader("F:\\MyEclipe 2015\\Workplace\\Java\\src\\db.properties"); Properties pros = new Properties(); pros.load(in); url = pros.getProperty("url"); username = pros.getProperty("username"); password = pros.getProperty("password"); driver = pros.getProperty("driver"); } /* * 静态方法,获取Connection接口实例 */ public static Connection getConnection(){ return conn; } /* * 关闭所有连接 */ public static void close(Connection conn,Statement st,ResultSet rs){ try { rs.close(); st.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } } }