Обязательно ли использовать внутренние ресурсы try-with-resources или все внутри одного из try-in-resources будет автоматически закрыто?Обязательно ли использовать внутренние ресурсы try-with-resources или все внутри одного из try-with-resources будет автоматически закрыто?
try (BasicDataSource ds = BasicDataSourceFactory.createDataSource(dsProperties)) {
// still necessary for Connection to close if inside
// try-with-resources?
try (Connection conn = ds.getConnection()) {
String sql = "SELECT * FROM users";
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
try (ResultSet rs = stmt.executeQuery()) {
while (rs.next()) {
System.out.println(rs.getString("email"));
System.out.println(rs.getString("password"));
}
}
}
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
Почему вы используете множество 'try-with-resources', используйте только один и поместите несколько операторов, используя'; '. И он позаботится о том, чтобы закрыть все. –
спасибо @jack jay, это было именно то, что я хотел знать – DevDio