[RESOLVIDO] Pegar id depois de salvo

Galeraa é o seguinte eu tenho uma tela de lançamento de viagens ao lançar a viagem quero pegar o id da viagem para fazer um insert em uma outra tabela. Alguem saberia como fazer isso ?

Você deve usar a constante RETURN_GENERATED_KEYS, por exemplo:

try(PreparedStatement pstmt = conectaBancoDeDados
                    .prepareStatement(stringSQLInsercao, 
                            PreparedStatement.RETURN_GENERATED_KEYS)){
	[...]
}

O método então, nesse caso terá retorno int ou long, conforme o tipo de dado do seu id. Na chamada do método que realiza a operação se inserção, tu vai atribuir a uma variável para poder utilizar o o id gerado, como queira.

Exemplo:

1 - pacote DAO

public static int inserir(bean.Raca raca) throws SQLException{
	int codigo = 0;
	[...]
	try(PreparedStatement pstmt = conectaBancoDeDados
                    .prepareStatement(stringSQLInsercao, 
                            PreparedStatement.RETURN_GENERATED_KEYS)){
							
		try(ResultSet rstSet = pstmt.getGeneratedKeys()){
                    if(rstSet != null){
                        rstSet.next();
                        codigo = rstSet.getLong(1);
                    }
                    rstSet.close();
                }
                pstmt.close();
            }
            conectaBancoDeDados.close();
	}
	return codigo;
}

2 - Pacote View

    int codigo = 1;
    codigo = dao.Raca.inserir(retornarRaca());

vc pode fazer isso utilizando trigger.

Para que usar trigger se a linguagem Java oferece a função nativamente?

rapaz, dependendo do caso é mais viável utilizar trigger.

Bom, nesse caso, por falta de uma resposta ele tem duas.

Concordo, não é necessário dar uma volta toda (usando Trigger) pra pegar o último ID cadastrado.

Bom dia Galera, Obrigado a todos pela ajud, Consegui do seguinte modo:

ResultSet rs = pst.getGeneratedKeys();
                if (rs.next()) {
                    lastId = rs.getInt(1);
                    System.out.println(lastId);
                  }

onde lastId é uma variavel global. Pois no meu caso vou trabalhar em varias parte do projeto com esse id