Olá!
Suponde que tenho a seguinte tabela:
tblClientes
CodCliente* autoIncremento
Nome Texto(50)
CPF texto(11)
E no Java eu tenho a seguinte classe:
public class Cliente {
private int codcliente;
private String nome;
private String CPF;
public Cliente() {
codCliente = 0;
nome = "";
CPF = "";
}
public salvar() {
//implementação do método salvar
}
}
A minha idéia é a seguinte: enquanto a classe ainda não estiver salva o codcliente sempre vai ser zero, ou seja, quando o código for 0 no salvar vou executar um comando insert e quando for diferente de 0 vou executar um update. Mas, para isso, preciso, logo depois de executar o insert, receber o valor do código que foi auto-incrementado na tabela.
Vou tentar ser mais claro.
vou executar o comando insert:
insert into tblClientes values(null, ‘Nome1’, ‘[telefone removido]’);
depois disso ele vai criar um valor X para o CodCliente e é justamente esse cara que tenho que passar para o atributo codcliente imediatamente depois de postado.
Eu pensei em fazer isso selecionando sempre a linha com o maior CodCliente, mas acho que no caso de mais de uma aplicação rodando ao mesmo tempo vai gerar algum tipo de inconsistência.
Tem alguma forma de fazer isso?