jdbc資源的回收問題!

mysapphire發表於2004-04-14
我們使用連線池訪問資料庫,是不是在關閉了connection之後它所屬的statement和result都會自動關閉了呢?就是說只需要關閉connection?
那麼這樣的話是不是隻要在try{...}catch{...}finnally{conn.close();}這樣的框架下工作就肯定是不會存在連線資源佔用的情況了呢?
經過我在DB2上測試的情況是這樣的,不知道是不是不同的jdk或者as環境下會有所不同? 我一直無法完全肯定這一問題,請大家賜教!

本來我只要養成在關閉connection之前把其他物件一一關閉的習慣,就不會存在這個問題了,但是我為了偷懶起見,把簡單的查詢和更新操作封裝到了一個基類的公用函式中,方便隨時在程式碼中呼叫,程式碼如下:
public static ResultSet sysSelect(Connection conn,String sql)throws SQLException{
Statement st = null;
st = conn.createStatement();
return st.executeQuery(sql);
}
由於這樣的功能隨時隨地會被使用,這不得不使我考慮這個函式中產生中間物件statement st的生存期問題!*_*

相關文章