工具类 解决硬编码问题
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