Olá pessoal! Nesse post apresentarei como conectar à um DB(Mysql) + JSF usando o padrão DAO. Vejam como será algo bem simples de fazer. Aqui vamos criar uma aplicação que grava nome e o email dos clientes, tendo como IDE o Netbeans.
Lets go…
posts da série:
Série 1 Aplicações JEE com JSF
Série 2 JSF: Criando um newsLetter -NB
Requisitos:
-
Netbeans 6.7
-
Mysql instalado
Passo 1
Criar um schema e uma tabela no mysql com o nome que achar conveniente, aqui chamamos de livraria (schema) e clientes (tabela).
Os campos para tabela foram:
id – Integer – autoincrement
nome – varchar
email – varchar
Passo 2
Crie um projeto chamado CadCliJSF e escolha o framework JSF. Se tem dúvida, veja o primeiro post da série.
Vamos Criar a classe de conexão com banco de dados. Para isso, crie um new package: br.com.camilo.util e coloque a classe nesse package. Chamamos aqui de ConnectionFactory
passo 3 cliente.java
Crie agora o JavaBeans chamado cliente dentro do package br.com.cliente.
passo 4 DAO.java / ClienteDAOImp.java
Crie um package chamado br.com.camilo.dao e coloque a classe dentro desse package.
Agora vamos criar uma interface DAO.java que possui os métodos de ação com o DB. Nesse caso teremos apenas o salvar. Abaixo o code da interface.
passo 5
Criando a classe que implementa os métodos da interface DAO. Observe que assim fica mais fácil a manutenção e o reuso de código também. Portanto no package br.com.camilo.dao crie uma classe que implementa os a interface dao.java. Aqui chamados de ClienteDAOImp. Veja o code:
passo 6
Crie um package br.com.Controler e crie uma classe chamada CliControler.java. Esta classe executará as ações com base no que foi solicitado pelo usuário. Se este clicar em salvar, o controlador vai chamar o método salvar da interface dao.java implementado pela classe CliDAOimp.
passo 7
Crie os arquivos abaixo.
Agora altere o arquivo formAutor.jsp conforme o code a seguir. Adicione o code abaixo entre <body> </body>
Agora altere o arquivo menu.jsp:
Para o arquivo forwardToJSF.jsp deixei assim: <jsp:forward page=”menu.jsf”/>
Para o arquivo cancelado.jsp deixe conforme a imagem abaixo:
Agora vamos configurar o arquivo face-web.xml. Portanto deixe conforme abaixo:
Running….
Vou ficando por aqui e espero que tenham gostado da série JSF c/ Netbeans. Muito simples e eficiente. Até o próximo post. Abraco !!
Parabéns, ótima forma de demonstrar o que NÃO FAZER quando criar uma query de busca . Já ouviu falar em SQL INJECTION ?
Fernando (comentario anterior),
Li e re-li porém não entendi onde exatamente está a brecha para SQL Injection.
Caso voce não saiba, o Prepared Statement é o jeito correto a ser feito para evitar o uso de SQL Injection.
Parabéns Camilo pelo excelente post!
tb nao entendi o post dele, mas go ahead 🙂
Camilo,
muito bom o tutorial. Sou iniciante e gostei bastante!
Contudo, por mais que tenha lido (inclusive as partes 1 e 2), não consegui reproduzir os passos. As dúvidas e os problemas são:
Devo renomear o arquivo de Boas-vindas.jsp e substiuí-lo por um dos citados?
Nessa parte do texto diz: “Agora altere o arquivo menu.jsp”
Qual alteração deve ser realizada?
As demais alterações segui à risca. Digitei todo o código.
Mas, com essa pendência, ou o XML do faces-config fica mal formado, ou obtenho erros (se remover a parte do código) no servidor.
O sr. poderia disponibilizar esse projeto para download? Sei que pode ser trabalhoso, mas ajudaria bastante.
Desde já agradeço e seu blog já está nos meus favoritos.
opa! Ricardo,
Realmente, acabei esquecendo de colocar uma imagem e nem vi, obrigado pela dica e comentarios. A respeito do XML faces-config nao conseguir entender claramente o que vc quis dizer.
A respeito do projeto segue o link para download lembrando que nosso blog está em um novo endereco: http://www.camilolopes.com
abraco, 🙂
Camilo,
muito obrigado por responder e por disponibilizar o arquivo. Será, com certeza, de grande ajuda.
O que eu me referia ao faces-config é que, como faltava um JSP no projeto e o arquivo de configuração fazia referência a este, obtinha-se um erro. Somando-se com a minha inexperiência em programação Java para Web só podia dar nisso mesmo…rs
Agora ficou tudo mais claro. Mais uma vez, muito obrigado. Já atualizei meus “favoritos”.
Abraços!
Parabéns, simples e fácil!
Parabéns…