Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

BRG

Erro Básico

Recommended Posts

Salve Galera beleza? Sou iniciante em Java e estou tendo um erro que acho básico, porem não consigo resolver.

Vamos lá. Eu tenho o seguinte cenário:

 

Fisica

import java.sql.Date;


// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.C785799F-A6A5-9B6D-AAE1-F2B449197AED]
// </editor-fold> 
public class Fisica extends Pessoa {

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.46440E69-6BA1-3655-DF16-21EB59CB902F]
    // </editor-fold> 
    private long cpf;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.CE38871D-CF6D-7DD5-4711-E789F1C62DEA]
    // </editor-fold> 
    public Fisica () {
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.7D943216-E7DE-535C-EE92-8E13830BCA67]
    // </editor-fold> 
    public long getCpf () {
        return cpf;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,regenBody=yes,id=DCE.A1FCB160-A012-712C-B010-880F818F76EA]
    // </editor-fold> 
    public void setCpf (long val) {
        this.cpf = val;
    }
    
    public void imprime(){
        System.out.println("---------------------------------------------");
		System.out.println("S A I D A  -  C O N S U L T A");
		System.out.println("---------------------------------------------");
    	System.out.println("CPF.............: " + this.getCpf());
    	System.out.println("NOME............: " + this.getNome());
    	System.out.println("DATA DE NASC....: " + FabricaData.getData(this.getDataNascimento()));
    	
    	System.out.println("CONTATO - CELULAR..........: " + this.getContato().getCelular());
    	//System.out.println("CONTATO - EMAIL............: " + this.getContato().getEmail());
    	//System.out.println("CONTATO - TELEFONE.........: " + this.getContato().getTelefone());
    	//System.out.println("CONTATO - TELEFONE COM.....: " + this.getContato().getTelefoneComercial());
        //int i = 1;
    	/*for (Endereco e : this.getEndereco()){
            System.out.println("Endereço [" + i + "]");
    		System.out.println("ENDERECO - BAIRRO.....................: " + e.getBairro());
    		System.out.println("ENDERECO - CEP........................: " + e.getCep());
    		System.out.println("ENDERECO - CIDADE.....................: " + e.getCidade());
    		System.out.println("ENDERECO - BAIRRO.....................: " + e.getBairro());
    		System.out.println("ENDERECO - ESTADO.....................: " + e.getEstado());
    		System.out.println("ENDERECO - RUA........................: " + e.getRua());
    		System.out.println("ENDERECO - NUMERO.....................: " + e.getNumero());
            i++;
    	}*/
    }

}

PessoaFisicaDAOImpl

    public List<Fisica> consultar(){
        List<Fisica> pess = new ArrayList<Fisica>();

        Connection con = null;
        PreparedStatement pstm = null;
        ResultSet res = null;

        final String sql = "SELECT Fisica.cpf, Pessoa.nome, Pessoa.dataNascimento, Contato.telefone, Contato.celular, Contato.telefoneComercial, Contato.email FROM Fisica INNER JOIN Pessoa ON Fisica.idPessoa = Pessoa.idPessoa INNER JOIN Endereco ON Endereco.idPessoa = Pessoa.idPessoa INNER JOIN Contato ON Contato.idPessoa = Pessoa.idPessoa";

        con = ConnectionManager.getConnection();

        if (ConnectionManager.isConected(con)) {
            try {
                pstm = con.prepareStatement(sql);
                res = pstm.executeQuery();

                while (res.next()) {
                    Fisica fisica = new Fisica();
                    fisica.setCpf(res.getLong(1));
                    fisica.setNome(res.getString(2));
                    fisica.setDataNascimento(res.getDate(3));
                    fisica.getContato().setTelefone(res.getString(4)); ////////////// AQUI ESTA O ERRO
                    pess.add(fisica);
                    
                }
            } catch (SQLException sqlex) {
                sqlex.printStackTrace();
            } finally {
                ConnectionManager.close(con, pstm, res);
            }
        } else {
            System.out.println("Problemas ao conectar!");
        }

        return pess;
    }

Main

 System.out.println("..:: Consultar Todas Pessoas Físicas ::..");
                    PessoaFisicaDAO pdao = new PessoaFisicaDAOImpl();
                    List<Fisica> pess = pdao.consultar();
                    for (Fisica p : pess) {
                        p.imprime();
                    }

 

Ele está retornando

Exception in thread "main" java.lang.NullPointerException

 

Alguem tem alguma idéia?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste a classe PessoaFisicaDAOImpl completa e se possível a interface também.

Provavelmente ele não está conseguindo criar o objeto pdao, mas só vendo a classe para ter a real idéia.

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.