Pessoas aproveitando aqui o conhecimento de vocês estou com uma dúvida, o professor disse que seria bom abrir a connection
, o preparedStatement
e o resultSet
(esse ultimo eu coloquei por minha conta)
Pois a justificativa é que passando esses objetos o try
fecha automaticamente, seja a connection
, o preparedStatement
ou o resultSet
sem precisar de ficar lembrando toda hora de ficar connection.close()
, prepareStatement.close()
, resultSet.close()
a cada implementação.
*Entretanto fica uma coisa muito feia um monte de try
catch
, aninhados achei um pouco zoneado. Temos alguma outra forma mais bonitinha de fazer isso? *
try (Connection connection = Database.getConnection()) {
String sql = "SELECT * FROM produto";
try (PreparedStatement statement = connection.prepareStatement(sql)) {
boolean resultado = statement.execute();
try (ResultSet resultSet = statement.getResultSet()) {
System.out.println(resultado);
while (resultSet.next()) {
System.out.println(String.format("id:%d | Produto: %s | Descrição: %s ",
resultSet.getInt("id"), resultSet.getString("nome"), resultSet.getString("descricao")));
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("erro no resultSet");
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("erro no prepareStatment");
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("Erro ao abrir conexão");
}