public Pessoa Abrir(int id) throws Exception{
        Pessoa pessoa = null;
        try{
            
            PreparedStatement comando = banco.getConexao()
                    .prepareStatement("SELECT * FROM Pessoa WHERE Id_Pessoa = ?");
            comando.setInt(1, id);
            
            ResultSet consulta = comando.executeQuery();
            comando.getConnection().commit();
            
            if(consulta.first()){
                pessoa = new Pessoa();
                pessoa.setCpf(consulta.getInt("CPF"));
                pessoa.setDataNascimento(consulta.getDate("Data_Nascimento"));
                pessoa.setIdPessoa(consulta.getInt("Id_Pessoa"));
                pessoa.setNome(consulta.getString("Nome"));
                pessoa.setRg(consulta.getString("RG"));
                //asd conferr a data
                
                //Preencher telefones
                PreparedStatement comando2 = banco.getConexao()
                        .prepareStatement("SELECT * from Telefones WHERE Id_Pessoa = ?");
                comando2.setInt(1, id);
                
                ResultSet consulta2 = comando2.executeQuery();
                comando2.getConnection().commit();
                
                List<Telefone> listaTelefone = new LinkedList<>();
                while(consulta2.next()){
                    Telefone temp = new Telefone();
                    temp.setId(consulta2.getInt("Id_Telefone"));
                    temp.setDdd(consulta2.getInt("DDD"));
                    temp.setNumero(consulta2.getInt("Numero"));
                    listaTelefone.add(temp);
                    
                }
                pessoa.setTelefones(listaTelefone);
                
                //Preencher Enderecos
                PreparedStatement comando3 = banco.getConexao()
                        .prepareStatement("SELECT * from Enderecos WHERE Id_Pessoa = ?");
                comando3.setInt(1, id);
                
                ResultSet consulta3 = comando3.executeQuery();
                comando3.getConnection().commit();
                
                List<Endereco> listaEnderecos = new LinkedList<>();
                while(consulta3.next()){
                    Endereco endereco = new Endereco();
                    endereco.setBairro(consulta3.getString("Bairro"));
                    endereco.setCep(consulta3.getInt("CEP"));
                    endereco.setCidade(consulta3.getString("Cidade"));
                    endereco.setEstado(consulta3.getString("Estado"));
                    endereco.setId(consulta3.getInt("Id_Endereco"));
                    endereco.setNumero(Integer.parseInt(consulta3.getString("Numero")));
                    endereco.setRua(consulta3.getString("Rua"));
                    endereco.setComplemento(consulta.getString("Complemento"));
                    listaEnderecos.add(endereco);
                    
                    
                }
                
                pessoa.setEnderecos(listaEnderecos);
                
                //Preenche emails
                PreparedStatement comando4 = banco.getConexao()
                        .prepareStatement("SELECT * FROM Emails WHERE Id_Pessoa = ?");
                comando4.setInt(1, id);
                
                ResultSet consulta4 = comando4.executeQuery();
                comando4.getConnection().commit();
                List<Email> listaEmails = new LinkedList<>();
                while(consulta4.next()){
                    Email temp = new Email();
                    temp.setEndereco(consulta4.getString("Endereco"));
                    temp.setId(consulta4.getInt("Id_Email"));
                    listaEmails.add(temp);
                    
                }
                pessoa.setEmails(listaEmails);
                
                
            }
            
            return pessoa;    
        
        
        }catch(SQLException ex){
            ex.printStackTrace();
            return null;
        }
    
    
    
    }