package com.ardo.bs.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCUtil {
private static JDBCUtil instance = null;
private final static String URL = "jdbc:mysql://localhost:3306/onlinecourse";
private final static String USERNAME = "root";
private final static String PASSWORD = "1234";
// 定义一个私有的无参构造器
private JDBCUtil(){}
// 在静态语句块中加载驱动
static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
// 用于获取当前类的唯一实例
public static JDBCUtil getInstance(){
if(instance==null){
// 延迟加载需要考虑并发问题,所以给当前类加锁
synchronized (JDBCUtil.class) {
if(instance == null){
instance = new JDBCUtil();
}
}
}
return instance;
}
// 用于获取Connection对象的方法
public Connection getConnection(){
Connection conn = null;
try {
conn = DriverManager.getConnection(URL,USERNAME,PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
// 用于进行资源释放的方法
public void free(Connection conn,Statement stmt,ResultSet rs){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(stmt!=null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
JDBCUtil.java数据库连接池工具类
最新推荐文章于 2024-05-16 13:06:45 发布