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("释放资源结束"); } } } } }