Você está na página 1de 25

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

Contedo
O Projeto .................................................................................................................................................................... 2
Criao de Pacotes ...................................................................................................................................................... 4
Factory: ...................................................................................................................................................................... 6
DAO: ......................................................................................................................................................................... 15
GUI (Graphical User Interface ou Interface Grfica de Cadastro) ............................................................................... 18
Evento SAIR........................................................................................................................................................... 23
Evento CADASTRAR ............................................................................................................................................... 24

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES


O Projeto
Arquivo > Novo projeto;

Na aba Novo projeto, clique em Java e em Aplicativo Java. Clique em prximo.

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

Na aba Novo aplicativo Java, em Nome do projeto digite MinhaAplicacao. Desmarque a opo Criar
classe principal. Clique em finalizar.

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES


Criao de Pacotes
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...

Na aba Novo Pacote Java digite factory para Nome do pacote.


Clique em Finalizar.

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

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):

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES


Factory:
Factory significa fbrica e ConnectionFactory significa fbrica de conexes. Factory ser o nome do
pacote e ConnectionFactory o nome da classe que far a interface com o driver JDBC de conexo a
qualquer banco que desejar. Por isso o nome fbrica, pois o JDBC permite a conexo a qualquer banco:
MySQL, Postgree, Oracle, SQL Server, etc., somente alterando a linha do mtodo getConnection. Vamos
comear criando a classe ConnectionFactory no pacote factory. V com o boto direito at factory e clique
com o boto esquerdo em Novo > Classe Java.

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES


Na aba Novo Classe Java em Nome da Classe escolha o nome ConnectionFactory. Clique em Finalizar.

O script abaixo representa a classe de conexo ConnectionFactory. Copie e cole na classe


ConnectionFactory:

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES


// situa em qual package ou pacote est a classe
package factory;

// faz as importaes de classes necessrias para o funcionamento do programa


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

public class ConnectionFactory {


public Connection getConnection() {
try {
return
DriverManager.getConnection("jdbc:mysql://localhost/cadastro","root","fmu");
}
catch(SQLException excecao) {
throw new RuntimeException(excecao);
}
}
}

Salve a alterao (CTRL+S).


Vamos criar uma classe para testar a conectividade ao MySQL. Pode ser dentro do pacote factory mesmo...
Coloquemos o nome TestaConexao:

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

Clique em Finalizar.
Script da classe TestaConexao:
package factory;

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

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"
rel="nofollow"

10

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES


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...

11

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES


Escolha o diretrio onde instalou o driver JDBC e clique em Open. Execute o projeto. Agora sim funcionou!
Se a mensagem que apareceu no console foi parecida com:
run:
Conexo aberta!
CONSTRUDO COM SUCESSO (tempo total: 1 segundo)
ento sua conexo foi estabelecida!
OBS 3: se mesmo assim no funcionar, especifique a porta do servidor ao lado do localhost.
Exemplo: localhost:3307

Modelo:
Agora, criemos a classe CadastroPF, dentro do pacote modelo: modelo > Novo > Classe Java > Usuario >
Finalizar.

12

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package modelo;

/**
*
* @author Dani
*/
public class CadastroPF {
Long pf_id;
String pf_nome;
String pf_email;

13

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

public String getEmail() {


return pf_email;
}

public void setEmail(String email) {


this.pf_email = email;
}

public Long getId() {


return pf_id;
}

public void setId(Long id) {


this.pf_id = id;
}

public String getNome() {


return pf_nome;
}

public void setNome(String nome) {


this.pf_nome = nome;
}

14

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

DAO:
Crie no pacote DAO a classe UsuarioDAO: dao > Novo > Classe Java > CadastroPFDAO > 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 PF, isto , s vamos usar o Create do CRUD. Em Create, criaremos o mtodo
adiciona. Passaremos o prprio objeto pfs" como parmetro da funo:

15

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

/*
* To change this template, choose Tools | Templates

16

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES


* and open the template in the editor.
*/
package dao;
import factory.ConnectionFactory;
import modelo.CadastroPF;
import java.sql.*;
import java.sql.PreparedStatement;
/**
*
* @author Dani
*/
public class CadastroPFDAO {
private Connection connection;

Long pf_id;
String pf_nome;
String pf_email;

public CadastroPFDAO(){
this.connection = new ConnectionFactory().getConnection();
}

public void adiciona(CadastroPF pf){

String sql = "INSERT INTO pf (pf_nome,pf_email)


VALUES(?,)";

try {
PreparedStatement stmt =
connection.prepareStatement(sql);

stmt.setString(1, pf.getNome());

17

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES


stmt.setString(2, pf.getEmail());
stmt.execute();
stmt.close();

} catch (SQLException u) {
throw new RuntimeException(u);
}
}

GUI (Graphical User Interface ou Interface Grfica de Cadastro)


Nossa aplicao back-end est toda finalizada. Precisamos aprontar o front-end, isto , a interface do
cadastro, a classe que ser responsvel pela interao com o cadastro de PF, ou seja, o formulrio de
entrada.
Vamos criar o formulrio que ser preenchido pelo PF: gui > Novo > Formulario JFrame > cadastroGUI >
Finalizar. A seguinte tela aparecer:

18

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

Para criarmos os elementos do formulrio necessrio o arrastar e soltar do mouse.


direita, na paleta de componentes, em Controles Swing, clique em LABEL ou Rtulo.
Escreva Cadastro de PF. Com o boto direito do mouse em cima do rtulo clique em Propriedades e em
"font" escolha tamanho 18 e clique em OK. Veja:
19

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

Arraste dois rtulos/label e escreva Nome e E-mail


E dois campos de texto, limpe-os e os posicione como a imagem abaixo:

20

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

Agora adicione dois botes:

21

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

Escreva jButton1 como Cadastrar e jButton2 como Limpar. Veja:

Agora, fora do painel, crie o boto SAIR. Faa o mesmo processo: sobrescreva jButton3 para SAIR.
Aperte SHIFT + F6 para executar, apenas para ver se o formulrio foi criado.
22

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

Agora vamos aplicar funcionalidades aos botes.

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.

Evento LIMPAR
Agora, na aba Projeto, d dois cliques em Limpar.
No mtodo jButton2ActionPerformed, na aba Cdigo-fonte, escreva os seguintes scripts:

23

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES


jTextField1.setText("");
jTextField2.setText("");
Estes scripts so responsveis por limpar ou apagar qualquer string escrita pelo usurio em cada um dos 2
campos de texto do formulrio.

Evento CADASTRAR
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:
// instanciando a classe Usuario do pacote modelo e criando seu
objeto usuarios
CadastroPF pf = new CadastroPF();

pf.setNome(jTextField1.getText());
pf.setEmail(jTextField2.getText());

// fazendo a validao dos dados


if ((jTextField1.getText().isEmpty()) ||
(jTextField2.getText().isEmpty())) {
JOptionPane.showMessageDialog(null, "Os campos no podem
retornar vazios");
}
else {
// instanciando a classe UsuarioDAO do pacote dao e criando seu objeto
dao
CadastroPFDAO dao = new CadastroPFDAO();
dao.adiciona(pf);
JOptionPane.showMessageDialog(null, "Cadastro
"+jTextField1.getText()+" inserido com sucesso! ");
}
24

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES


// apaga os dados preenchidos nos campos de texto
jTextField1.setText("");
jTextField2.setText("");

Certamente algumas mensagens de erro aparecero. Isto porque temos que importar no incio do cdigo
as classes CadastroPF (pacote modelo) e CadastroPFDAO (pacote dao). Alm destas, precisamos importar
a classe JOptionPane, responsvel pelas janelas de validao, aquelas que aparecem dizendo se o usurio
foi ou no cadastrado, se os campos esto vazios, etc.
Coloque estas linhas no incio do cdigo, abaixo de package gui, na aba Cdigo-fonte:
import modelo.CadastroPF;
import dao.CadastroPFDAO;
import javax.swing.JOptionPane;
Agora sim no aparecer erro nenhum e o cadastro poder ser feito.
Faa um teste! Veja:

25

Você também pode gostar