由于经常用到数据库的连接,所以想做成一个单独的类以方便调用
由于接触了一点singleton,于是想这么做下,因为于数据库的连接
只需要一次执行就可以了
import java.sql.Connection;
import java.sql.DriverManager;
public class ConnectToJdbc {
private static Connection conn = null;
private static ConnectToJdbc instance = new ConnectToJdbc();
private ConnectToJdbc(){
try {
// The newInstance() call is a work around for some
// broken Java implementations
Class.forName("com.mysql.jdbc.Driver");
System.out.println("class loaded!");
conn =
DriverManager.getConnection("jdbc:mysql://localhost/mydata?user=root&password=wakcmr");
System.out.println("connection successfully");
} catch (Exception ex) {
ex.printStackTrace();
}
}
public static ConnectToJdbc getInstance(){
return instance;
}
public Connection getConnection(){
return conn;
}
}
奇怪的是每次我在其他的类里面用到
Connection conn = ConnectToJdbc.getInstance().getConnection();
语句的时候,都会在控制台打印出
"class loaded " ," connection successfully"
应该来说,有了一个实例后,再次调用时不应该再初始化了
觉得很有疑问,请各位前辈指点下,或者说应该怎么样去实现这个功能比较好