使用单例模式设计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;
	}
}  


你可能感兴趣的:(Java)