Javafree
Página Inicial do Fórum > Banco de Dados - JDBC / SQL

[RESOLVIDO] Como gravar no BD



Criar novo tópico   Responder tópico


  1. pedro.lira
    Posts:18


    Comment Arrow

    Publicado em: 19/05/2013 02:32:02

    Estou querendo gravar o endereço de uma pessoa em meu banco de dados. Porem as tabelas CLIENTE e ENDERECO são diferentes. Os insert's eu sei fazer, apenas não sei como relacionar as tabelas. Estou criando uma aplicação WEB. Logo quando mando para minha Servlet de lá chamo minha classeDAO. Mas sendo em 2 como devo fazer? De uma DAO devo chamar a outra? Se for um insert's tenho a necessidade de indicar qual é o identificador na tabela de endereço. Mas como irei pegar ela? Sendo que ainda não foi criado meu identificador? Que esta sendo criado pelo SGBD?

    Muito obrigado.



  1. ronierealmeida
    Posts:1148


    Comment Arrow

    Publicado em: 19/05/2013 14:09:33

    muita pergunta, hehehehe, vamos com calma.
    vc ja tem algo pronto? se sim, posta aew. e qual seria o banco?



  1. davi.costa
    Posts:2520


    Comment Arrow

    Publicado em: 20/05/2013 08:51:23

    Vc pode até solicitar ao usuário na tela os dados do cliente e do endereço, mas vc primeiro dá o insert do endereço no banco pega o identificador e logo em seguida insere o cliente

    abcs
    _________________

    att Davi Costa
    Analista/Arquiteto Java
    Especialista em Engenharia de Sistemas
    ScrumMaster Certified



  1. pedro.lira
    Posts:18


    Comment Arrow

    Publicado em: 20/05/2013 11:53:44

    Davi Costa...
    Blz...isso eu sei! Só não sei como vou mandar o identificador do endereço para o cliente. É direto da camada de endereço que eu chamo a camada do cliente?



  1. ricoarrigoni
    Posts:2302


    Comment Arrow

    Publicado em: 20/05/2013 12:01:07

    Qual tecnologia está usando ? jdbc ??

    Posta o código de inserção que vc tá usando.


    _________________

    Moderador JavaFree - Ricardo Arrigoni

    Como Inserir Códigos no post
    Como Inserir LINKS no post
    Devo ou não marcar o tópico como resolvido ?
    Encontrou algo de errado acontecendo no JavaFree ? Envie uma MP para a coordenação do fórum aqui
    Manual de condutas para usuários / Manual de condutas para moderadores
    Devmedia



  1. pedro.lira
    Posts:18


    Comment Arrow

    Publicado em: 20/05/2013 12:08:19

    Sim, estou usando JDBC.
    Mas no meu caso, eu coloco que o cliente pode ter vários endereços. Com isso o ID do cliente que vai para o endereço.


    No caso a minha dúvida é a seguinte, daqui eu devo chamar a classe de Controle do endereço? Como eu faria isso?



  1. ElPsyCongroo
    Posts:1688


    Comment Arrow

    Publicado em: 20/05/2013 17:35:53

    O que é essa classe de Controle do endereço? É o DAO?
    _________________

    Programador Java

    I´m a mad scientist.

    Tag CODE:
    http://javafree.uol.com.br/topic-870315-Tag-CODE-do-forum.html



  1. pedro.lira
    Posts:18


    Comment Arrow

    Publicado em: 20/05/2013 17:51:01

    Sim... tanto essa que coloquei quanto a de endereço são DAO. Preciso saber como que vou enviar o Identificador para a DAO de endereço. Sendo que este é criado pelo BD.



  1. ElPsyCongroo
    Posts:1688


    Comment Arrow

    Publicado em: 20/05/2013 18:16:21

    [quote="pedro.lira"]Sim... tanto essa que coloquei quanto a de endereço são DAO. Preciso saber como que vou enviar o Identificador para a DAO de endereço. Sendo que este é criado pelo BD.



    Se o identificador que vc fala é a chave primaria, ha um problema, pois que vc está usando insert direto, e o DB gera a chave. O certo era vc criar um metodo para gerar o ID (usando sequency ou coisa do tipo), e depois inserir com a chave. O método salvar poderia ter como retorno essa chave.
    Alias, qual banco de dados vc está usando?
    Soh não sei se é legal um DAO dentro de outro. Cada classe deve ter responsabilidade única, o mais legal seria ter um Facade que chamaria os 2 Daos. Isso deixaria isolado os 2 DAO's e o Facade seria o ponto de entrada.


    _________________

    Programador Java

    I´m a mad scientist.

    Tag CODE:
    http://javafree.uol.com.br/topic-870315-Tag-CODE-do-forum.html



  1. ElPsyCongroo
    Posts:1688


    Comment Arrow

    Publicado em: 21/05/2013 05:24:51

    E ai, conseguiu pegar a idéia?
    _________________

    Programador Java

    I´m a mad scientist.

    Tag CODE:
    http://javafree.uol.com.br/topic-870315-Tag-CODE-do-forum.html



  1. davi.costa
    Posts:2520


    Comment Arrow

    Publicado em: 21/05/2013 08:44:51

    Seria bom vc além do DAO, ter uma camada de serviço e nessa camada vc teria vários DAO's.
    Dava insert em endereço, capturava o id de endereço e já inseria o cliente com o id de endereço, e é só partir p abraço
    _________________

    att Davi Costa
    Analista/Arquiteto Java
    Especialista em Engenharia de Sistemas
    ScrumMaster Certified



  1. pedro.lira
    Posts:18


    Comment Arrow

    Publicado em: 21/05/2013 10:25:03

    Davi Costa, ontem a noite consegui descobrir exatamente isso utilizando o executeUpdate(); este método retorna o ID que foi gerado naquele momento. Com isso consigo utilizar ele no próximo método. Muito Obrigado.



  1. davi.costa
    Posts:2520


    Comment Arrow

    Publicado em: 22/05/2013 07:27:50

    Show de bola, pedro. Muito bom vc postar sua solução tb.

    abcs
    _________________

    att Davi Costa
    Analista/Arquiteto Java
    Especialista em Engenharia de Sistemas
    ScrumMaster Certified



  1. Relacionados