在使用Java與MySQL進(jìn)行連接時,我們都會用到JDBC(Java Database Connectivity) API。而在JDBC中,連接MySQL需要通過DriverManager類來進(jìn)行管理。當(dāng)我們使用DriverManager.getConnection()方法獲取到一個Connection對象后,我們是否要使用close()方法來關(guān)閉連接呢?
答案是一定要關(guān)閉連接!
為什么要關(guān)閉連接呢?因?yàn)閿?shù)據(jù)庫連接屬于一種有限資源,即當(dāng)我們打開連接時會從數(shù)據(jù)庫連接池中向數(shù)據(jù)庫請求資源,而當(dāng)我們使用完畢后卻不關(guān)閉連接的話,這個連接資源就會一直被占用,直到程序結(jié)束或者在極端情況下觸發(fā)MySQL服務(wù)器的資源限制,這將使得其他用戶建立連接時受到影響。
那么如何關(guān)閉連接呢?可以使用如下代碼進(jìn)行處理:
Connection connection = null; try { connection = DriverManager.getConnection(url, user, password); //執(zhí)行具體操作 } catch (SQLException e) { //異常處理 } finally { if (connection != null) { try { connection.close(); } catch (SQLException e) { //異常處理 } } }
在以上代碼中,我們使用了try-catch-finally語句,并在finally塊中使用if判斷connection是否為null,如果不為null則調(diào)用其close()方法來關(guān)閉連接。這樣即使程序在操作過程中出現(xiàn)異常,也能保證連接被正確關(guān)閉。
總之,在Java連接MySQL時一定要注意使用close()方法關(guān)閉連接,以免產(chǎn)生不必要的問題。