Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Desafio: listando conta pelo número

Implementação da classe ContaService.java. Fiz algumas alterações no try...catch, acrescentei o finally, pois imaginei o seguinte: caso haja algum erro ao executar o ps.executeQuery(), teremos uma garantia que a conexão será fechada:

//...
public Conta listarPorNumero(Integer numero) {
        String sql = "SELECT * FROM conta WHERE numero = ?";

        PreparedStatement ps;
        ResultSet resultSet;
        Conta conta = null;
        try {
            ps = conn.prepareStatement(sql);
            ps.setInt(1, numero);
            resultSet = ps.executeQuery();

            while (resultSet.next()) {
                Integer numeroRecuperado = resultSet.getInt(1);
                BigDecimal saldo = resultSet.getBigDecimal(2);
                String nome = resultSet.getString(3);
                String cpf = resultSet.getString(4);
                String email = resultSet.getString(5);

                DadosCadastroCliente dadosCadastroCliente =
                        new DadosCadastroCliente(nome, cpf, email);
                Cliente cliente = new Cliente(dadosCadastroCliente);

                conta = new Conta(numeroRecuperado, saldo, cliente);
            }
            resultSet.close();
            ps.close();
        } catch (SQLException e) {
            throw new RuntimeException(e);
        } finally {
            conn.close();
            return conta;
        }       
    }
    //...
1 resposta
solução!

Bom dia!

Sua resolução ficou excelente! Você fez um ótimo uso do aprendizado.

Parabéns pelo empenho nos estudos e continue praticando.

Para que mais pessoas consigam visualizar a sua solução proposta, é recomendado que você marque este tópico como solucionado. Assim pode ajudar ainda mais pessoas :)

Bons estudos!