使用单例模式设计JDBC连接数据库

时间:2022-09-21 23:48:49

设计模式之单例模式一般应用在在数据库操作里,数据库操作就要经常创建实例,然后进行数据库操作,所有就可以

将数据库操作的方法,进行封装,然后采用单例模式进行设计,然后采用单例模式之后,就可以节约系统资源,对于

一些需要频繁创建和销毁的对象单例模式无疑可以提高系统的性能。


使用单例模式设计JDBC连接数据库

先编写数据库配置文件sql.properties
DRIVER=com.mysql.jdbc.Driver
URL=jdbc:mysql://localhost:3306/user
USERNAME=root
PASSWORD=123456


DBCon.java:

package DB;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import java.util.PropertyResourceBundle;

import com.mysql.jdbc.CallableStatement;
import com.mysql.jdbc.PreparedStatement;


@SuppressWarnings("unused")
public class DBCon {

private static DBCon instance = new DBCon();

private DBCon() {

}

public static DBCon getInstance() {
if(instance == null){
synchronized (DBCon.class){
if(instance == null){
instance = new DBCon();
}
}
}
return instance;
}


public static Connection connection;
// ����sql����ִ�ж���
public static PreparedStatement pstmt;
// �����ѯ���صĽ���
public static ResultSet resultSet;
// ʵ����������Ĺ���
public Statement stmt;

public Connection getConnection() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException {

InputStream in=getClass().getClassLoader().getResourceAsStream("DB/sql.properties");
String jdbcDriver = null;
//主机
String jdbcUrl=null;
//数据库用户名
String USERNAME=null;
String PASSWORD=null;
Properties properties=new Properties();
properties.load(in);
jdbcDriver=properties.getProperty("DRIVER");
jdbcUrl=properties.getProperty("URL");
USERNAME=properties.getProperty("USERNAME");
PASSWORD=properties.getProperty("PASSWORD");

Class.forName(jdbcDriver);

connection = DriverManager.getConnection(jdbcUrl, USERNAME, PASSWORD);
return connection;
}
}