Việc sử dụng PreparedStatements và ResultSets có tạo ra một "cá thể cơ sở dữ liệu mới" mỗi khi chúng được sử dụng không? Hoặc, với các từ khác, nếu tôi sử dụng PreparedStatement và ResultSet, tôi có nên đóng chúng sau mỗi lần sử dụng hoặc khi tôi hoàn thành?Đóng báo cáo đã chuẩn bị
Ví dụ:
while (...){
p = connection.prepareStatement(...);
r = p.executeQuery();
while (r.next()) {
....
}
}
// We close at the end. Or there are any other p and r still opened...?
p.close();
r.close();
HOẶC
while (...){
p = connection.prepareStatement(...);
r = p.executeQuery();
while (r.next()) {
....
}
p.close();
r.close();
}
LƯU Ý: Tất nhiên là tôi sẽ sử dụng thử và đóng đúng cách, đây chỉ là một ví dụ.
Bạn đóng chúng trong một khối cuối cùng, để bạn đảm bảo đóng cửa của nó ngay cả khi có bất kỳ runtimeexception – chedine