这个是返回我的Connection连接对象。
我若直接在public static Connection getConnection() 所在类。main方法,以及
在public void add(User user) {所在类 main方法直接调用test(),,每次运行老是给我返回com.mysql.jdbc.JDBC4Connection@446cdf90同一个对象。。
而若间接着好多个类调用先调用new LoginFrame();——》new UserDAOJDBCImpl().test();则给我随机的些Connection对象。。好难理解哦哦。。
我没懂你要表达的意思。
每次打开都释放:
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
new UserDaoJdbcImpl().test();
}
}
private void test() {
// TODO Auto-generated method stub
Connection conn=null;
try {
conn = DBConnectionManager.getConnection();
System.out.println(conn);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBConnectionManager.free(null, null, conn);
}
结果如下:
com.mysql.jdbc.JDBC4Connection@7a07c5b4
free conn
com.mysql.jdbc.JDBC4Connection@421faab1
free conn
com.mysql.jdbc.JDBC4Connection@799f7e29
free conn
com.mysql.jdbc.JDBC4Connection@255316f2
free conn
com.mysql.jdbc.JDBC4Connection@1698c449
free conn
每次打开都不释放,代码如下:
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
new UserDaoJdbcImpl().test();
}
}
private void test() {
// TODO Auto-generated method stub
Connection conn=null;
try {
conn = DBConnectionManager.getConnection();
System.out.println("new "+conn);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
结果如下:
new com.mysql.jdbc.JDBC4Connection@7a07c5b4
new com.mysql.jdbc.JDBC4Connection@27fa135a
new com.mysql.jdbc.JDBC4Connection@69d0a921
new com.mysql.jdbc.JDBC4Connection@579bb367
new com.mysql.jdbc.JDBC4Connection@5cb0d902