单例模式创建数据库连接

时间:2022-12-11 09:01:41

 

单例模式只能创建一个实例对象

 

package com.sunlike.util;
import java.sql.*;
public class DBSingleton {
 private String url="jdbc:mysql://localhost:3306/shopping";
 private String uid="root";
 private String pwd="111111";
 private static DBSingleton instance=null;//创建数据库实例 必须是静态变量
 public static DBSingleton getInstance(){
  if(instance==null){
   synchronized (DBSingleton.class) {//加锁
    if(instance==null){
     instance=new DBSingleton();//预处理数据库实例,即调用该方法时才创建该实例,而不是一开始就 在虚拟机里创建实例
    }
   }
  }
  return instance;
 }
 /**
  * 连接数据库方法
  * @return
  */
 public Connection getConn(){
  Connection conn=null;
  try {
   Class.forName("com.mysql.jdbc.Driver");
   conn=DriverManager.getConnection(url,uid,pwd);
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return conn;
 }

}

 

 

调用该数据库连接的语句

Connection conn=DBSingleton.getInstance().getConn();