Olá amigos. Vou tentar ser o mais explicado possível.
Tenho 2 classes de entidades , classe Pessoa e classe Endereco. E 2 classes de persistencia , classe Dao e classe PessoaDao. Vou postar aqui apenas o código da classe PessoaDao:
package persistence;
import entity.Endereco;
import entity.Pessoa;
public class PessoaDao extends Dao{
public void create(Pessoa p,Endereco e) throws Exception{
open();
stmt = con.prepareStatement("insert into pessoa values(null,?,?)");
stmt.setString(1,p.getNome());
stmt.setString(2,p.getSexo());
stmt.execute();
stmt.close();
stmt = con.prepareStatement("select max(idpessoa) as maior from pessoa");
stmt.executeQuery();
rs.next();
int resp =rs.getInt("maior");
rs.close();
stmt.close();
stmt = con.prepareStatement("insert into endereco values(null,?,?,?,?)");
stmt.setString(1,e.getBairro());
stmt.setString(2,e.getCidade());
stmt.setString(3,e.getEstado());
stmt.setInt(4, resp);
stmt.execute();
stmt.close();
close();
}
}
O problema é que eu não consigo inserir na tabela endereco, insere apenas em pessoa. E o erro que dá é null. Abaixo o código do .jsp que executa a saida.
<%@ page import="entity.*" %>
<%@ page import="persistence.*" %>
<%@ page import="java.*" %>
<%
Pessoa p = new Pessoa(null,
request.getParameter("nome"),
request.getParameter("sexo")
);
Endereco e = new Endereco(null,
request.getParameter("bairro"),
request.getParameter("cidade"),
request.getParameter("estado")
);
PessoaDao pd = new PessoaDao();
try{
pd.create(p,e);
out.print("<br><b>Dados Gravados");
}catch(Exception ex){
out.print("<br><b>Erro "+ ex.getMessage());
}
%>
<a href="index.jsp">Voltar para a página principal</a>