Javadoc говорит для . close()
из PreparedStatement
говорит, что он ..
Немедленно освобождает базу данных этого объекта Statement и ресурсы JDBC вместо того, чтобы ждать, пока это произойдет, когда он будет автоматически закрыт. Как правило, рекомендуется выпускать ресурсы, как только вы закончите с ними, чтобы не связывать ресурсы базы данных.
Вызов метода close для уже закрытого объекта Statement не имеет никакого эффекта.
Примечание. Когда объект Statement закрывается, его текущий объект ResultSet, если он существует, также закрывается.
Рассмотрим следующий сценарий
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()
также close con
?