O objetivo deste artigo desenvolver uma aplicao em JSE (Java Standard Edition) de insero
de dados utilizando alguns padres de projeto. Para isto, utilizaremos a IDE NetBeans (neste
exemplo utilizo a verso 6.5.1) e o banco de dados MySQL Server (utilizo verso 5.5). claro
que o leitor pode usar a verso mais adaptvel ao seu conhecimento.
Subentende-se que para execuo deste artigo, o leitor j tenha algum conhecimento bsico prvio
na tecnologia Java.
OBS.: este tutorial propositalmente no utiliza framework para desenvolvimento MVC (Struts,
Spring) e nem ferramenta ORM (Hibernate) justamente para forar o leitor a entender "como
funciona por trs dos bastidores" e se familiarizar com conceitos bsicos de utilizao da
linguagem.
Resumo
1. Banco de Dados;
2. O Projeto;
3. Factory;
4. Modelo;
5. DAO;
1
6. GUI;
7. Evento SAIR;
8. Evento LIMPAR;
9. Evento CADASTRAR;
10. Consulta atravs do console do MySQL Server.
Mo na massa:
Abra o console do MySQL Server em Iniciar > Todos os programas > Mysql > MySQL Server
5.5 > MySQL Server 5.5 Command Line Cliente digite os seguintes comandos:
Ou seja, teremos a tabela usuario com 5 atributos (id, nome, CPF, email, telefone).
Passo 2: O Projeto
2
Na aba Novo projeto, clique em Java e em Aplicativo Java. Clique em prximo.
3
Agora vamos criar os pacotes ou packages. Clique com o boto direito em Pacotes de
cdigos-fonte e com o boto esquerdo do mouse escolha Novo > Pacote Java...
4
Repita o processo de criao de pacote, criando os seguintes pacotes, alm do pacote
factory:modelo, dao, gui. Assim ficar a viso geral do projeto (no canto esquerdo do
NetBeans):
Passo 3: Factory:
5
ConnectionFactory no pacote factory. V com o boto direito at factory e clique com o
boto esquerdo em Novo > Classe Java.
Na aba Novo Classe Java em Nome da Classe escolha o nome ConnectionFactory. Clique
em Finalizar.
6
import java.sql.Connection; // conexo SQL para Java
import java.sql.DriverManager; // driver de conexo SQL para Java
import java.sql.SQLException; // classe para tratamento de excees
Vamos criar uma classe para testar a conectividade ao MySQL. Pode ser dentro do pacote
factory mesmo...
Coloquemos o nome TestaConexao:
Clique em Finalizar.
7
Script da classe TestaConexao:
package factory;
import java.sql.Connection;
import java.sql.SQLException;
public class TestaConexao {
public static void main(String[] args) throws SQLException {
Connection connection = new ConnectionFactory().getConnection();
System.out.println("Conexo aberta!");
connection.close();
}
}
Para executar qualquer aplicativo no NetBeans teclamos SHIFT+F6. Faa-o. Perceba que
uma mensagem de erro exibida no console. Esta mensagem de erro significa ausncia do
driver JDBC. Precisamos baix-lo para assim fazermos a conexo. Endereo para
download: http://dev.mysql.com/downloads/mirror.php?id=404191#mirrors
Se o arquivo vier compactado, descompacte-o e escolha o diretrio de sua preferncia.
Depois de baixar o driver JDBC, v em: Bibliotecas > Adicionar JAR/pasta...
Escolha o diretrio onde instalou o driver JDBC e clique em Open. Execute o projeto. Agora
sim funcionou!
run:
Conexo aberta!
8
CONSTRUDO COM SUCESSO (tempo total: 1 segundo)
ento sua conexo foi estabelecida!
Passo 4: Modelo:
Agora, criemos a classe Usuario, dentro do pacote modelo: modelo > Novo > Classe Java
> Usuario > Finalizar.
9
Crie as variveis id (Long), nome, CPF, email, telefone (todas string) e os mtodos getters e
setters. Assim ficar o script da classe:
package modelo;
public class Usuario {
Long id;
String nome;
String cpf;
String email;
String telefone;
10
public void setNome(String nome) {
this.nome = nome;
}
Passo 5: DAO:
Crie no pacote DAO a classe UsuarioDAO: dao > Novo > Classe Java > UsuarioDAO >
Finalizar.
Neste pacote ficam as classes que so responsveis pelo CRUD (Create, Retrieve, Update,
Delete ou Criar, Consultar, Alterar, Deletar), isto , dados de persistncia. Mas no nosso
caso no criamos mais que uma tabela na Base de Dados, conseqentemente, nenhum
relacionamento. Alm disso, neste exemplo, criaremos o Cadastro de Usurio, isto , s
vamos usar o Create do CRUD. Numa prxima oportunidade podemos aprender os outros
mtodos (alterar, consultar e deletar). Em Create, criaremos o mtodo adiciona.
Passaremos o prprio objeto "usuario" como parmetro da funo:
package dao;
import factory.ConnectionFactory;
11
import modelo.Usuario;
import java.sql.*;
import java.sql.PreparedStatement;
public UsuarioDAO(){
this.connection = new ConnectionFactory().getConnection();
}
} catch (SQLException u) {
throw new RuntimeException(u);
}
}
}
12
Nossa aplicao back-end est toda finalizada. Precisamos aprontar o front-end, isto , a
interface de usurio, a classe que ser responsvel pela interao com o usurio, ou seja, o
formulrio de entrada.Vamos criar o formulrio que ser preenchido pelo usurio: gui >
Novo > Formulario JFrame > UsuarioGUI > Finalizar. A seguinte tela aparecer:
13
Agora na paleta de componentes, em Continers SWING, escolha Painel ASM. Clique com
o boto direito do mouse e escolha Propriedades. Clique em border > Borda de ttulo.
Intitule Cadastrar novo usurio. Clique em OK e depois fechar. Veja:
14
Finalmente vamos criar os botes. Na aba Paleta > Controles SWING, v at Boto ASM.
Crie dois botes, conforme mostra a imagem abaixo:
15
Agora, fora do painel, crie o boto SAIR. Faa o mesmo processo: sobrescreva jButton3
para SAIR.
16
Passo 7: Evento SAIR
Clique duas vezes no boto SAIR para criarmos o evento. Na aba Cdigo-Fonte, no
mtodo referente a jButton3, isto , ao boto SAIR, digite:
System.exit(0);
Este comando fecha a janela em execuo. D um ALT+F6 e agora clique no boto SAIR. A
janela ser fechada.
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
Estes scripts so responsveis por limpar ou apagar qualquer string escrita pelo usurio em
cada um dos 4 campos de texto do formulrio.
Precisamos criar o principal evento que literalmente cadastrar o usurio. Para isso,
vamos clicar duas vezes no boto Cadastrar e, na aba Cdigo-fonte, no evento
jButton1ActionPerformed ficar assim o cdigo:
17
// instanciando a classe Usuario do pacote modelo e criando seu objeto usuario
s
Usuario usuarios = new Usuario();
usuarios.setNome(jTextField1.getText());
usuarios.setCpf(jTextField2.getText());
usuarios.setEmail(jTextField3.getText());
usuarios.setTelefone(jTextField4.getText());
Coloque estas linhas no incio do cdigo, abaixo de package gui, na aba Cdigo-fonte:
import modelo.Usuario;
import dao.UsuarioDAO;
import javax.swing.JOptionPane;
18
Agora sim no aparecer erro nenhum e o cadastro poder ser feito.
Faa um teste! Veja:
use projetojava;
select * from usuario;
A seguinte tela aparecer:
19
Pronto. Se todos os passos foram seguidos corretamente, sua aplicao foi executada com
sucesso. O Java no uma tecnologia fcil de se aprender logo de incio, mas depois que
voc entende os principais conceitos de orientao a objetos (classes, objetos, atributos,
mtodos, encapsulamento, herana e polimorfismo, etc.), prtica do cdigo limpo (esse que
s vem com o tempo utilizando polimorfismo para substituir estruturas de deciso,
encapsulamento nos atributos, interfaces para reduzir o acoplamento, e assim por diante...),
a sim o entendimento fica bem mais elucidado.
Espero mesmo que este artigo possa ajudar seus projetos na empresa que voc trabalha,
na sua faculdade ou mesmo nos seus estudos.
e at a prxima!
20