import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* jdbc工具类(单例模式)
*
* @author Administrator
*
*/
public final class JdbcUtilsing {
private volatile static JdbcUtilsing instance;
// 常量值
private String url = "jdbc:mysql://localhost:3306/dqms2";
private String user = "root";
private String password = "root";
// 让构造函数为private,这样该类就不会被实例化,使用单例模式创建对象
private JdbcUtilsing() {
}
public static JdbcUtilsing getInstance() {
if (instance == null) {
synchronized (JdbcUtilsing.class) {
if (instance == null) {
instance = new JdbcUtilsing();
}
}
}
System.out.println("实例化jdbc工具类");
return instance;
}
// 静态代码块,初始化一次用于注册驱动
static {
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("注册jdbc驱动");
} catch (ClassNotFoundException e) {
throw new ExceptionInInitializerError();
}
}
// 获取数据库连接
public Connection getConnection(){
Connection conn = null;
try {
conn=DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
// 释放资源
public void free(ResultSet rs, Statement st, Connection conn) {
try {
if (rs != null)
rs.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (st != null)
st.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
jdbc工具类(单例模式)
最新推荐文章于 2023-02-23 09:48:28 发布