Banco de dados: TEST Tabela: Cliente
CREATE TABLE cliente ( id MEDIUMINT NOT NULL AUTO_INCREMENT, nome CHAR(30) NOT NULL, PRIMARY KEY (id) ) ENGINE=MyISAM;
INSERT INTO cliente (nome) VALUES ('Silvio'),('João'),('Maria'), ('Joaquim'),('Maria'),('Vinicius');
SELECT * FROM cliente;
1 - MySql -
Banc Banco o de dado dados s
2 – JSP Pgm.JSP <% Comandos……. %> 3 - Servlet Pgm.JAVA
Retorna as requisições de um JSP ou HTML CRUD com JSP e Servlet + MySQL + NetBeans Configuração inicial Est ste e é um ex exem emp plo de uma in inse ser rçã ção o e da dado dos s sim impl ple es seg egui uin ndo os seguintes passos:
1. Crie
o
Ba n c o
de
Dados
( Q u al q u e r
n o m e)
e
(Qualquer nome) como mostra a figura abaixo...
2. Criar um novo Projeto Java Web...
uma
Ta b e l a
Resultado:
3. Configurar a
conexão do aplicativo com
o Banco de Dados
MySQL. Precisaremos do driver JBDBC do MySQL.
3.1 Clique com o Biblioteca...
botão direito
na pasta
Bibliotecas →Adicionar
Resultado:
Implementação do sistema 2.1 Dentro do src: Pacotes de Códigos-fonte vamos criar um pacote de nome modelo, controle e dao
Agora criaremos a Classe Java de nome (Cliente) no pacote (modelo)...
Resultado:
2.2
Criar código do atributos e os getters e setters...
3.
Agora criaremos a Classe Java de nome (Conexao) no pacote
(dao) seguindo os mesmo passos do item 4.2...
Resultado:
3.1
Criar código do construtor, método que será responsável por criar, abrir e fechar a conexão com o Banco de Dados...
Agora criaremos a Classe Java de nome (ClienteDAO) no pacote (dao) seguindo os mesmo passos do item 4.2;
Resultado:
2.
Criar
o
código
dos métodos public String inserir(Categoria categoria)
que
permite a inserção do nome no Banco de Dados e o método public List listar() que
carrega
e
retorna
a
lista
de
nomes,
exibe
nomes cadastrados.
package dao; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import modelo.Cliente; public class ClienteDao { public String inserir(Cliente cliente) { String retorno = "falha"; Conexao conn = new Conexao(); try { Statement stmt = (Statement) conn.getConn().createStatement(); stmt.execute("insert into cliente (nome) values ('" + cliente.getNome() + "')"); retorno="sucesso"; } catch (Exception e) { e.printStackTrace(); } finally { conn.fecharConexao();
os
} return retorno; } public String alterar(Cliente cliente) { String retorno = "falha"; Conexao conn = new Conexao(); try { Statement stmt = (Statement) conn.getConn().createStatement(); stmt.execute("update cliente set nome = '"+ cliente.getNome() + "' where id="+cliente.getIdCliente()); retorno="sucesso"; } catch (Exception e) { e.printStackTrace(); } finally { conn.fecharConexao(); } return retorno; } public String remover(int id) { String retorno = "falha"; Conexao conn = new Conexao(); try { Statement stmt = (Statement) conn.getConn().createStatement(); stmt.execute("delete from cliente where id="+id); retorno="sucesso"; } catch (Exception e) { e.printStackTrace(); } finally { conn.fecharConexao(); } return retorno; } public List
listar() { List clientes = new ArrayList(); Conexao conn = new Conexao(); try { Statement stmt = (Statement) conn.getConn().createStatement(); ResultSet rs = stmt.executeQuery("select * from cliente"); while (rs.next()) { Cliente cliente = new Cliente(); cliente.setIdCliente(rs.getInt("id"));
cliente.setNome(rs.getString("nome")); clientes.add(cliente); } } catch (SQLException e) { e.printStackTrace(); } finally { conn.fecharConexao(); } return clientes; } public List acharCliente(int id) { List clientes = new ArrayList(); Conexao conn = new Conexao(); try { Statement stmt = (Statement) conn.getConn().createStatement(); ResultSet rs = stmt.executeQuery("select * from cliente where id="+id); if (rs.next()) { Cliente cliente = new Cliente(); cliente.setIdCliente(rs.getInt("id")); cliente.setNome(rs.getString("nome")); clientes.add(cliente); } else { Cliente cliente = new Cliente(); cliente.setIdCliente(99); clientes.add(cliente); } } catch (SQLException e) { e.printStackTrace(); } finally { conn.fecharConexao(); } return clientes; }
} 3.
Agora criaremos um Servlet de nome (InserirCliente) no
pacote
(controle)
seguindo
os
mesmo
passos
lembrando que escolherá a opção Servlet...
do
item
4.2
Resultado:
4.
Agora criaremos o código do método Post dentro do Servlet...
Vamos criar na pasta Páginas Web a página .JSP de nome (InserirCliente) para inserir o nome...
Resultado:
1.2
O código a seguir apenas implementa a criação do form...
Ainda chamada
na
pasta
Páginas
(index.jsp)
Web, da
vamos mesma
(InserirCliente.jsp) do item 8.
criar forma
a
página que
inicial criamos
Resultado:
Continuando
com
o
projeto,
faremos
alterações
no
(index.jsp) para que ele fique com o seguinte código:
Manutenção Cadastro de Clientes
<% ClienteDao dao = new ClienteDao(); List clientes = dao.listar(); %> Código | Nome | Operação |
<% for (int i = 0; i < clientes.size(); i++) {
arquivo
Cliente cliente = clientes.get(i);%> <% out.print(cliente.getIdCliente()); %> | <% out.print(cliente.getNome()); %> | "> "> |
<% } %>
Resultado:
Implementando o Remover... Vamos alterar novamente a classe (ClienteDAO.java) para incluir o método remover...
public String remover(int id) { String retorno = "falha"; Conexao conn = new Conexao(); try { Statement stmt = (Statement) conn.getConn().createStatement(); stmt.execute("delete from cliente where id="+id); retorno="sucesso"; } catch (Exception e) { e.printStackTrace(); } finally { conn.fecharConexao(); } return retorno; }
Dentro do pacote (controle) crie o arquivo Servlet de nome (removerCliente.java) da mesma maneira do item 8. da Parte I.
Resultado:
1.3
Implemente o método doPost com o seguinte código: