/**
* 单态模式: 1、必须有私有静态的成员变量 2、私有的构造器 3、公有返回私有的静态的成员变量方法
*
*/
public class DBConn {
//创建私有静态的成员变量
private static Connection conn;
//创建一个私有的构造器
private DBConn() {
}
//创建一个静态的公有的返回静态的成员变量的一个实例的方法
public static Connection getDBconn() {
if (conn == null) {
try {
System.out.println("-----------------数据库加载驱动并创建连接开始"+System.currentTimeMillis());
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1/db","root","root");
System.out.println("-----------------数据库加载驱动并创建连接开始"+System.currentTimeMillis());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return conn;
}
public static void main(String[] args) {
// DBConn.getDBconn();
DBConn db = new DBConn();
db.getDBconn();
DBConn db1 = new DBConn();
db1.getDBconn();
DBConn.getDBconn();
}
}
//-------------------------------------------------------------------------------------
// 上面的运行结果,单例模式 只输出一个
//-----------------数据库加载驱动并创建连接开始
//-----------------数据库加载驱动并创建连接结束
//说明它只是创建了一次 conn 对象 提高了程序的性能