जावाडोक कहते PreparedStatement
की .close()
का कहना है के लिए है कि यह ..तैयार किए गए स्टेशन और कनेक्शन के लिए "करीबी" के बीच संबंध?
विज्ञप्ति इस वक्तव्य वस्तु के डेटाबेस और JDBC संसाधनों तुरंत बजाय जब यह स्वचालित रूप से बंद कर दिया है ऐसा करने के लिए के लिए इंतज़ार कर। डेटाबेस संसाधनों को टालने से बचने के लिए जैसे ही आप उनके साथ समाप्त हो जाते हैं, संसाधनों को रिलीज़ करना आम तौर पर अच्छा अभ्यास है।
पहले से बंद किए गए स्टेटमेंट ऑब्जेक्ट पर बंद विधि को कॉल करना कोई प्रभाव नहीं पड़ता है।
नोट: जब कोई स्टेटमेंट ऑब्जेक्ट बंद होता है, तो उसका वर्तमान परिणामसेट ऑब्जेक्ट, यदि कोई मौजूद है, तो भी बंद हो जाता है।
इस परिदृश्य पर
MyConnector databaseConnector = DBManager.instance().getConnector();
Connection con = databaseConnector.getConnection(); // returns java.sql.Connection
PreparedStatement pstmt = null;
try {
pstmt = con.prepareStatement("some query");
...
} finally {
if (pstmt != null)
pstmt.close();
}
पर विचार करें इस उदाहरण में, pstmt.close()
भी पास con
?
नहीं। कोई बयान बंद करने से * कनेक्शन बंद नहीं होगा (क्योंकि एक कनेक्शन के लिए * कई * कथन हो सकते हैं)। कनेक्शन * भी * एक प्रबंधित संसाधन माना जाना चाहिए। –
आप "con.isClosed()" http://docs.oracle.com/javase/6/docs/api/java/sql/Connection.html –