Ir ao conteúdo
  • Cadastre-se
fdsmello

Problema nullpointerexp

Recommended Posts

quando eu crio o objeto igreja ele esta dando nullpointException. Não sei porque

 

O IgrejaDAO

package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;



import conexao.Conexaofactory;
import modelo.Igreja;

public class IgrejaDAO extends Conexaofactory {
	
	public void inserir(Igreja igreja){
		Connection conn =null;
		PreparedStatement stat = null;
		StringBuilder sb = new StringBuilder();
		sb.append("INSERT INTO igreja (id_igreja,id_estilo,id_bairro,anoconstru,id_pontoturistico) ");
		sb.append("VALUES (?,?,?,?,?");
		try {
			conn = getConexao();
			stat = conn.prepareStatement(sb.toString());
			stat.setInt(1, igreja.getId_igreja());
			stat.setInt(2, igreja.getEstiloigreja().getId_estilo());
			stat.setInt(3, igreja.getBairro().getId_bairro());
			stat.setString(4, igreja.getAnoConstru());
			stat.setInt(6, igreja.getId_pontoTuristico());
			stat.executeQuery();
		} catch (Exception e) {
			// TODO: handle exception
		}
	}
	

}

Os modelos Igreja

 

package modelo;

public class Igreja extends PontoTuristico {

	
	private String anoConstru;
	private int id_igreja;
	private  Estiloigreja estiloigreja;
	private Bairro bairro;
	
	public String getAnoConstru() {
		return anoConstru;
	}
	public void setAnoConstru(String anoConstru) {
		this.anoConstru = anoConstru;
	}
	public int getId_igreja() {
		return id_igreja;
	}
	public void setId_igreja(int id_igreja) {
		this.id_igreja = id_igreja;
	}
	public Estiloigreja getEstiloigreja() {
		return estiloigreja;
	}
	public void setEstiloigreja(Estiloigreja estiloigreja) {
		this.estiloigreja = estiloigreja;
	}
	public Bairro getBairro() {
		return bairro;
	}
	public void setBairro(Bairro bairro) {
		this.bairro = bairro;
	}
	
	
	

}

Modelo Bairro

 

package modelo;

public class Bairro {

	private int id_bairro;
	private String descricao;

	
	public int getId_bairro() {
		return id_bairro;
	}
	public void setId_bairro(int id_bairro) {
		this.id_bairro = id_bairro;
	}
	public String getDescricao() {
		return descricao;
	}
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}
	
	
}

modelo EstiloIgreja 

package modelo;

public class Estiloigreja {
	
	private int id_estilo;
	private String estiloarquitetural;
	
	public int getId_estilo() {
		return id_estilo;
	}
	public void setId_estilo(int id_estilo) {
		this.id_estilo = id_estilo;
	}
	public String getEstiloarquitetural() {
		return estiloarquitetural;
	}
	public void setEstiloarquitetural(String estiloarquitetural) {
		this.estiloarquitetural = estiloarquitetural;
	}
	
	
	
}

A classe que Igreja extends

package modelo;

public class PontoTuristico {
	
	private String nome;
	private int id_pontoTuristico;
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public int getId_pontoTuristico() {
		return id_pontoTuristico;
	}
	public void setId_pontoTuristico(int id_pontoTuristico) {
		this.id_pontoTuristico = id_pontoTuristico;
	}
	
	
}

Testando para ver se vai inserir no banco mas só q da nullPoinner antes de chegar na igrejaDao.inserir

Da problema aqui 

// igreja.getBairro().setId_bairro(1);

igreja.getBairro().setId_bairro(bairro.getId_bairro());

 

package testeApp;

import dao.IgrejaDAO;
import modelo.Bairro;
import modelo.Estiloigreja;
import modelo.Igreja;

public class App {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Estiloigreja estiloigreja = new Estiloigreja();
		Bairro bairro = new Bairro();
		Igreja igreja = new Igreja();
		IgrejaDAO igrejaDAO = new IgrejaDAO();
		bairro.setDescricao("Centro");
		bairro.setId_bairro(1);
		estiloigreja.setId_estilo(1);
		
		igreja.setAnoConstru("1985");
//		igreja.getBairro().setId_bairro(1);
		igreja.getBairro().setId_bairro(bairro.getId_bairro());
//		igreja.getEstiloigreja().setId_estilo(1);	
		igreja.getEstiloigreja().setId_estilo(estiloigreja.getId_estilo());
		igreja.setId_igreja(8);
		igreja.setId_pontoTuristico(1);
		
		igrejaDAO.inserir(igreja);
	}

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

O NPE (NullPointerException) ocorre no bairro e não na igreja:

igreja.get << aqui está ok
igreja.getBairro().set << aqui dá NPE, bairro é nulo

Você possui uma instância de Igreja e uma instância de Bairro, mas a instância de Bairro não é adicionada na instância de Igreja, e o mesmo irá ocorrer com EstiloIgreja.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×