Primeiro passo é criar um banco de dados.
Pois com um esquema montado, utilizaremos o
Framework de mapeamento objeto relacional o Hibernate, para montar nosso projeto.
Como o foco desse trabalho é o desenvolvimento de um projeto JAVA WEB. Não será a
abordado Conceitos mais profundo de banco de dados.
O NETBEANS 8.2, é a IDE que iremos utilizar para a criação do nosso projeto JavaWEB.
O NETBEANS 8.2, traz consigo um conjunto de plugins (Aplicativos) para os mais diversos
tipos de desenvolvimento é uma ferramenta multi - linguagem suporta as linguagens Java
(ME, SE e EE), PHP, C/C++ entre outras.
Novo Projeto
Agora vamos escolha a plataforma que iremos trabalhar.
No nosso caso, um Projeto Java WEB – Aplicação WEB
Agora iremos dar nome ao projeto. Optei por colocar o nome do Banco no caso CursoUninorte.
Avança no botão próximo.
A próxima tela é para escolher o servidor de aplicação (Local onde será executado nosso
projeto WEB). Fica a critério do desenvolvedor, para esse projeto utilizarei o GlassFish.
A próxima tela requer um pouco de atenção aos passos, é nela que iremos selecionar o
framework Hibernate, para controlar toda a camada de dados do sistema.
Passos:
Selecionar a opção Hibernate;
Seleciona uma nova conexão de banco de dados -> na opção Conexão de banco de
dados.
A próxima tela escolhemos o Driver (Software que faz a conexão de um código java com a
tecnologia de banco de dados utilizada.). No nosso caso escolheremos o MySQL, pois é o
SGBD que utilizaremos.
Escolhido o driver Conector, a próxima tela temos que adicionar 2 (Duas informações o
banco de dados e a senha).
Acione o botão de Testar conexão. E observe se a conexão foi efetuada com sucesso.
Depois é só finalizar.
E o projeto acabe de ser gerado.
O [Link], é o arquivo do Framework Hibernate que mapeia todos os dados do
banco de dados indicado, para realizar a conexão. Nele vem o Driver utilizado, o local, a
porta e o banco de dados utilizado, também o usuário e a senha.
Utilizaremos uma nomenclatura de pacote (local onde será criados os arquivos do nosso
projeto) que identificará o local onde estamos trabalhando. Com um dos objetivos do
documento é auxiliar os alunos da Fametro na criação dos pacotes utilizaremos a seguinte
nomenclatura.
[Link]
Os pacotes assumirão esses
[Link]
nomes, pois, trabalharemos com
[Link]
a arquitetura MVC. Model,
[Link]
Controller, View.
Então seguindo esses passos vamos criar os pacotes botão direito sobre o projeto -> Novo -
> Pacote.
Criado nossos pacote vamos trabalha no pacote connection, primeira modificação é jogar o
arquivo [Link] para dentro dele. Segue com o mouse e arraste para dentro do
pacote [Link].
Agora precisamos trabalhar noutro arquivo, o [Link]. Ele é quem irá criar várias
sessões no banco de dados e por esse motivo chamaremos de [Link].
Passos:
Botão direito no pacote connection -> Novo -> Outros -> Pasta Hibernate ->
[Link]
Renomeie a classe para ConnectionFactory. E Finalizar.
Aparecerá essa codificação, precisamos modifica-la.
Adiciona a Classe
Adiciona
Session a Classe
do pacote
hibernate.
Session do pacote
Abaixo as modificações. hibernate.
Adiciona a Classe
Session do pacote
hibernate
Precisamos apontar a localização
do [Link], para que a
classe ConnectionFactory possa
se comunicar
com os dados do banco de dados.
Do método
getSessionFactory
Retorno do método, no caso o
OpenSession().
MODIFICAÇÕES:
Adicionar o [Link].
Adicionar o método getSessionFactory da classe Session.
Adicionar o tipo de Retorno do método, no caso o OpenSession().
Adicionar "br/com/uninorte/model/connection/[Link]" no configure.
Com a configuração do banco pronta, vamos utilizar um dos melhores recursos do
Hibbernate, a engenharia versa. O arquivo de engenharia reversa, mapeia todos os atributos
da tabelas do banco e transforma em classe java.
Seguindo os passos vamos lá, clique com o botão direito sobre o pacote [Link] ->
Novo -> Outro -> Pasta Hibernate – Assistente de engenharia reversa.
Próximo
Próximo
O Hibernate mapiará todas as tabelas do banco de dados, próximo passo é adicionar todos
e finalizar.
O arquivo virá assim.
Agora precisamos gerar os POJOS. Pojos é uma termos referenciado a classe básicas do
Java a quais conterá os atributos e o gets e sets.
Ainda no pacote [Link], clique com botão direito -> novo -> Pasta Hibernate ->
Arquivos de Mapeamento do Hibernate e POJOS do Banco de Dados.
Próximo:
Finalizar
Mapeada as classes básicas, vamos trabalhar no pacote [Link].
O Dao é também uma nomenclatura que utilizaremos para identificar os arquivo que trarão
das transações com o banco de dados, com esses arquivos estaremos transferindo toda a
responsabilidade gerenciar todos os trabalhos com o banco de dados, salvar buscar, deletar
e realizar as buscas na base.
Vamos utilizar uma classe básica para realizar a criação dos métodos, para esse documento
utilizaremos um Dao para cada classe. Mas para o próximo será implementado o modelo
DaoGeneric.
Vamos lá, botão direito do mouse sobre o pacote [Link] -> Novo -> Classe Java.
O primeiro arquivo que será criado é o classe [Link]
Finalizar
Agora vamos implementar as características da classe.
Todo os pacotes com as
Classes que iremos
utilizar para esse método.
Método salvar();
Método alterar();
Método consultarPornome();
Método listar();
Método consultarPorId();
Método listarAproximado();
Método deletar();
Agora precisamos criar a classe de controller. O Controller é a classe que ira gerenciar
todas as requisições que venha da tela e comunica com os arquivos do DAO.
Vamos lá, botão direito do mouse sobre o pacote controller -> Novo -> Servlet.
Renomeia para ControlerBairro.
Próximo e clieque em Finalizar
Precisamos localizar o método doPost
Clica no sinal de + e o
arquivo se expande.
Faça as seguintes alterações.
Agora vamos trabalhar na tela do sistema. Utilizaremos a tecnologia JSP (Java Server
Pages), para criar as tela WEB.
Utilizaremos também o recurso do NetBeans Paleta.
Mas antes vamos criar o arquivo JSP. Clique com o botão direto do mouse sobre o Projeto –
> Novo -> JSP.
Renomeei o arquivo para CadastroBairro.
Clique em Finalizar.
Com o auxilio do NetBeans, vamos utilizar o recurso de paleta (é um plugin do NetBeans
que auxilia na criação dinâmica de janela.). Menu Janela – Paleta.
Vamos utilizar a opção de Tabelas.
Segure a opção de tabelas e arraste para dentro do código, especificamente dentro do
<body> </body>. Uma janela será aberta e precisamos informar a quantidade de colunas e
linhas que precisaremos para os campos da tela. Como mostrado na figura abaixo.
Optei por deixar 2(duas) linhas e 2(duas) colunas. Ainda é possível personalizar a borda da
tabela e a largura. O seguinte código será gerado.
Precisamos modifica-lo.
Preciso de um form
para poder enviar os
dados da tela.
Terei que invocar o
Controller que é quem
vai tratar todas as
requisições que
venha da tela.
Campo onde eu vou
digitar. É o campo de
entrada de texto.
Botão.
Shift +F6 – é o comando para executar o arquivo.
Tela de Cadastro de Bairro.
E a primeira tela de cadastro está pronta. Feito isso, para todos os cadastros só iremos
adicionar mais campo de texto e criar o controller e os dao para a tela, pois os beans, o
mapeamento não vai mudar.
Agora vamos Listar o que nós adicionamos na Tela de Bairro.
Para Isso iremos utilizar a tecnologia Scriptlet, que nos dá a possibilidade de escrever
código Java na tela JSP. Iremos utilizar a tag <% %> para inserir o código e não
precisaremos de um controller para listar os dados.
Precisamos de um arquivo JSP, então vamos lá botão direito sobre o projeto, Novo ->
JSP.
Você terá que alterar o código adicionando os dados do arquivo abaixo.
<%@page import="[Link]"%>
<%@page import="[Link]"%> Importando os pacote
<%@page import="[Link]"%> onde estão localizados
<%@page import="[Link]"%>
os arquivos que
<%@page contentType="text/html" pageEncoding="UTF-
8"%> iremos precisar.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body> A tecnologia Scriptlet,
<%
possibilita que
List<Bairro> listBairro = new ArrayList<Bairro>();
BairroDao bairroDao = new BairroDao(); façamos isso, utilizar
String nome = [Link]("txtnome"); código java numa pág.
%>
<table border="1">
<thead>
<tr> Cria na table, os
<th>Codigo</th>
<th>Nome</th> campos que
<th> </th> receberam o dados.
</tr>
</thead> Chama o método
<tbody>
listar e chama a
<%listBairro = [Link]();
for(Bairro b: listBairro) { estrutura de repetição
%> para imprimir a lista.
<tr>
<td><%= [Link]() %></td>
Enquanto houver nome, ele retorna
<td><%= [Link]() %></td>
o código e o nome do bairro
<td>
<input type="button" value="Alterar" name="btAlterar" onclick="location='[Link]?codigo=<%=
[Link]() %>'"/>
<input type="button" value="Excluir" name="btExcluir" onclick="location='[Link]?codigo=<%=
[Link]() %>'"/>
</td>
</tr>
<% Para cada tupla retornada, ele adiciona um
} Fecha a estrutura de repetição.
botão para alterar e outro para deletar.
%> (FOR)
</tbody>
</table>
</body>
</html>
SHIFT + F6
Tela de Listar Bairro
Implementando um alterar
Para alterar vai seguir a mesma lógica do cadastro, alterando somente o método. Para
alterar é preciso antes de mais nada ter listado um objeto, para que a o objeto seja
preenchido com informações.
Vamos criar o método Controller do Alterar.
Botão direito sobre o pacote Controller -> new Servlet.
Renomear para ControllerAlterarBairro.
No métodos doPost.
Chama o método
de consulta.
Chama o método
de alteração.
Criando a tela de alterar
Botão direito sobre o projeto Novo - > JSP
E adiciona o código abaixo.
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="[Link]" %>
<%@page import="[Link]" %>
Tela
Excluindo
Criar um controller do excluir.
Agora a tela.
Tela
Cadastrar numa tabela que envolva uma relação
Para cadastrar uma tabela que possui uma FK(foreign key) precisamos de um detalhe a
mais do que os cadastros que vínhamos fazendo.
Vamos utilizar a tabela/classe Aluno.
Precisando criar o Dao do aluno, pois até agora só trabalhamos com o bairro.
Criando o Controller do Aluno
Tela o Cadastro de Aluno
Tela
Listar de Alunos