这个连接jdbc的工具类,是单例,但是我有个概念混淆不清,到底是JDBCUtil1这个类是单例,还是Connection是单例,Connection的代价比较高,我们的目的不应该是要保证这个事单例吗,但是调用下面这句代码两次,拿到的对象不是同一个,Connection con1 = JDBCUtils1.getInstance().getConnection();
如果是为了这个工具类是单例,这么做什么意义呢?今天重新学习JDBC发现了以前好像自己都没懂
public class JDBCUtils1 {
private final static String name="root";
private final static String url = "jdbc:mysql://localhost/jdbc";
private final static String password = "90184340";
private static JDBCUtils1 instance= new JDBCUtils1();
static{
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
throw new ExceptionInInitializerError(e);
}
}
public static JDBCUtils1 getInstance(){
return instance;
}
public Connection getConnection() throws SQLException{
return DriverManager.getConnection(url, name, password);
}
------解决方案--------------------
当然是JDBCUtil1这个类是单例了,你的Connection当然不是单例了你没调用getConnection方法就产生一个新的Connection了
------解决方案--------------------
主要的好处就是节约资源!
工具嘛,没必要人手一个吧,大家共用同一个就好了!
多了还不好管理
你可以去网上搜索下,有更详细的解释!