Nesse contexto, o método de recuperar conexão faria sentido ser static?
public class ConnectionFactory {
public static Connection recuperarConexao() throws SQLException {
return DriverManager.
getConnection("jdbc:mysql://localhost:3306/loja_virtual?useTimezone=true&serverTimezone=UTC", "root", "xxxxxx");
}
}
O uso de try with resources seria a melhor solução para não utilizarmos o bloco finally?
import java.sql.*;
public class TestaListagem {
public static void main(String[] args) {
try (Connection connection = ConnectionFactory.recuperarConexao(); Statement stm = connection.createStatement()) {
String sql = "SELECT id ,nome, descricao FROM produto";
stm.execute(sql);
try (ResultSet resultSet = stm.getResultSet()) {
while (resultSet.next()) { //percorre os resultados no banco
Integer id = resultSet.getInt("id");
String nome = resultSet.getString("nome");
String descricao = resultSet.getString("descricao");
System.out.println("Id: " + id);
System.out.println("Nome: " + nome);
System.out.println("Descrição: " + descricao);
System.out.println();
}
} catch (Exception e) {
e.getMessage();
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}