public static void main(String[] args) throws Throwable {
JDBCUtil jdbc=new JDBCUtil();
jdbc.getConnection();
jdbc.getConnection();
}
public void getConnection() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(URL, USER, PASSWORD);
System.out.println(conn);
} catch (SQLException | ClassNotFoundException e) {
e.printStackTrace();
}finally{
try {
if(conn!=null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
System.out.println(conn);
}
}
}
如果只建立一個鏈接每次打開的都是同一個。。暫時還沒試試重啟電腦會不會就改變了 = =。
conn.close();什麼效果也沒有啊。
com.mysql.jdbc.JDBC4Connection@446cdf90
com.mysql.jdbc.JDBC4Connection@446cdf90
com.mysql.jdbc.JDBC4Connection@1de0aca6
com.mysql.jdbc.JDBC4Connection@1de0aca6
剛開始不理解每次運行返回的conn怎麼都是同一個,百度了半天,明白了點 連接池。。看運行結果,發現close後,第一個conn鏈接 並沒有關閉返回 空閒池。多次調用 DriverManager.getConnection 得到不同的conn 進行總刪改查 會不會產生一些 不同步的問題? 不知道自己想問什麼,看了半天 也是似是而非的。。。還是模模糊糊 不是很透徹。。
本來就是這樣的,要不要連接池干嘛。連接池就是維護一個預先打開好的連接的池子。所以你的程序的性能很高,就算你不斷的打開關閉。