Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

C@bral

Java Bean agregado em pattern DAO

Recommended Posts

Boa tarde galera,


Estou com dúvida em um projeto da faculdade, na qual estamos adotando o padrão DAO para a camada de persistência do banco.


Minha dúvida é a seguinte: Tenho um Java Bean Processo, nele há um atributo cliente do tipo Cliente e um atributo advogado do tipo Advogado relacionado.


Ao retornar um determinado processo ou uma lista de processos pelo ProcessoDAO, o correto seria retornar os dados destes objetos relacionados também, ou retornar um objeto vazio e ir complementando os dados depois?


Outra maneira que pensei seria dentro do ProcessoDAO, utilizar o ClienteDAO e AdvogadoDAO para preencher estes dados. Isso seria uma má prática?


=D

Compartilhar este post


Link para o post
Compartilhar em outros sites

...........

 

Vamos pegar o advogado como exemplo.

 

Advogado é uma entidade no banco de dados que precisa ser cadastrado.

O advogado tem id,nome e apelido.

 

O primeiro passo é a tabela para o advogado.......

id:int(11)
nome:varchar(60)
apelido:varchar(30)

 

criada a tabela vamos criar o formulário de inclusão de um advogado com os campos nome, apelido (id é auto increment)

 

<form action="AdvogadoAdiciona">
   <input name="nome"><br/>
   <input name="apelido"><br/>
</form>

 

para poder persistir estes dados precisamos antes criar um objeto que guarde estas informações de forma a manter o padrão MVC

seria o BEAN advogado.

 

public class Advogado{
  private int id;
  private String nome, apelido;

  // getters and setters
}

aproveitando se vai seguir o padrão MVC sempre crie os getters e setters e nunca deixe as propriedades como publicas.

 

 

o bean advogado em uma instancia recebe os dados do formulário e monta o objeto advogado.

agora é hora de gravar o advogado, o bean não tem a capacidade (nem deve) de gravar o advogado no banco

para isso criamos a classe advogadoDao que tem as funcionalidades de persistência.

 

public class AdvogadoDao{
   Connection conexao; // conexao com o jdbc;
   public void adiciona(Advogado advogado){
     String sql = "INSERT INTO advogado (nome, apelido) VALUES (?,?)";
     PreparedStatement stm = conexao.prepareStatement(sql);
     stm.setString(advogado.getNome());
     stm.setString(advogado.getApelido());
     stm.execute();
     stm.close(); // sempre feche a conexao;

   }
}

 

 

// agora é só criar a classe que implementa a lógica que finalmente irá pegar os dados do formulário criar um bean Advogado e adicionar no banco pelo AdvogadoDao.

 

 

// imports


@WebServlet("/AdvogadoAdiciona")
public class AdvogadoAdiciona extends HttpServlet{

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
	    
      // instanciando bean e setando dados
      Advogado adv = new Advogado();
      adv.setNome(req.getParameter("nome"));
      adv.setApelido(req.getParameter("apelido"));

      // instanciando dao e inserindo dados no banco
      AdvogadoDao dao = new AdvogadoDao();
      dao.adiciona(adv);

      // final feliz pra todo mundo

     resp.getWritter().print("Mais um advogado no mundo --'");

    }
    
    
    
}

 

 

esse exemplo é apenas didático fiz agora não sei se funciona mas esse é o padrão MVC JSP pra quem não usa nenhum framework oiu seja pra quem trabalha com dao como você ta fazendo na faculade.

 

att

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.