Consulta no banco de dados

Vai ser um pouco dificil explicar minha dúvida por isso irei fazer um exemplo como base da minha pergunta.

Ex: Imaginem duas tabelas no banco de dados, um com o nome de PESSOA e outra denominada ENDEREÇO, dentro da tabela PESSOA, tem uma chave estrangeira chamada ID_END q se liga com o a tabela ENDEREÇO. Lembrando q dentro da segunda tabela o ID_END ele é colocado como auto-incremento. Meu problema esta qnd quero cadastrar um usuário. Tipo as informações do endereço e da pessoa devem ser cadastrados juntos, so q and eu vou adicionar na tabela pessoa eu ainda naum tenho o ID_END, ja q ele é cadastrado ao mesmo tempo.
Eu decidi solucionar essa parada da seguinte forma, no cadastro eu cadastro os dados na tabela ENDEREÇO, depois faço uma busca do do ID_END e depois faço o cadastro na tebela PESSOA. So q dessa forma q eu faço o programa perde muita performace e dinânmica, podendo deixa-lo mais lento … enfim alguém poderia me dizer um forma de fazer isso de um forma melhor, tipo quardando o result set sei lá …

E caso alguém coloque um código, por favor o explique …

Valeuuuuuu

ams essas tabelas precisam realmente ser distintas?

Tipo … podem até naum precisar ser distintas, mas eu tava afim de aprender dessa forma saca, pq tipo um diz precisarei fazer assim … a lembrando essa pergunta é para quem programa JDBC puro, sem usar programas como o Hibernate … tipo … li em uma matéria q é possivel atualizar o rsult set de forma q ele cadastre o endereço, depois ele aponte para o id_end para entrar no cadastro da tabela pessoa …

Cara, estão eu sugiro que crie dois formulários de cadastros distintos, e que o ID seja do PESSOA e não do ENDERECO, tipo:

o usuário acessará o cadastro de pessoa e informará os dados necessários, ao salva-lo, será gerado o IDPESSOA, em seguida ele entra na tela do cadastro de endereço (que poderá ser acessado por um botão na página do form PESSOA, que até poderá encaminhar o ID gerado como parâmetro).
O cadastro de endereço será salvo junto ao IDPESSOAL, que será uma FK na tabela.

abs rcmsj

Tá na mão…

       Class.forName("com.mysql.jdbc.Driver").newInstance();
       Connection con = DriverManager.getConnection("jdbc:mysql://localhost/banco", "root", "senha");
       Statement stmt = con.createStatement();
       stmt.executeUpdate("insert into enderecos values(null, 'R. tal', 'nº 0', 'bairro: tal')");
        
        /*até aqui é normal, mais ou menos como vc está fazendo
        * mesmo, criei a conexão e executei uma instrução...
        */
     
        //aqui você pega o Statement que inseriu o registro e pega as chaves geradas
        ResultSet res = stmt.getGeneratedKeys();
            
        res.next();
        
        //vai retornar uma coluna só nesse caso, com o id_end que você quer    
        int id_end = res.getInt(1);
        
       //a partir daqui é só inserir na outra tabela usando o id_end aí em cima

Espero ter ajudado, qualquer coisa é só entrar em contato!

Muito valeuuu brotherr ! ! !

Era isso q eu queria saber … valeuuuu ! ! !