C@bral 0 Denunciar post Postado Outubro 28, 2013 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
FreitasMT 29 Denunciar post Postado Outubro 29, 2013 ........... 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