Boa tarde galera,
tudo em cima ?
Estou com um probleminha aqui com GeneratedKeys... Não estou conseguindo resgatar no meu Servlet... =/
Preciso do ID da última pessoa cadastrada no banco de dados (MySQL).
Meu persistence:
public void create(Pessoa p) throws Exception {
open();
stmt = con.prepareStatement("insert into pessoa values(null,?)",
stmt.RETURN_GENERATED_KEYS);
stmt.setString(1, p.getNome());
stmt.execute();
rs = stmt.getGeneratedKeys();
while (rs.next()) {
Integer id = rs.getInt(1);
}
stmt.close();
close();
}
protected void cadastrar(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
Pessoa p = new Pessoa(null, request.getParameter("nome"));
String[] telefones = request.getParameterValues("numero");
try {
PessoaDao pd = new PessoaDao();
TelefoneDao td = new TelefoneDao();
pd.create(p);
for (int i = 0; i < telefones.length; i++) {
td.create(telefones[i], p.getIdPessoa());
}
request.setAttribute("mensagem", "Pessoa cadastrada com sucesso.");
} catch (Exception e) {
e.printStackTrace();
}
request.getRequestDispatcher("index.jsp").forward(request, response);
}
}
Eu só esqueci como que busca o id do Generated.. eu sei fazer dando um findByMax... mas ai ele pega só se for AUTO_INCREMENT o ID.... mas e se não for.. tem que pegar o último cadastrado... ai estou tentando com GeneratedKey... Ajuda ?
Muito obrigado.
