Java com Banco de Dados Posgree

Propaganda
Java com Banco de Dados
Posgree
Prof. Luiz Claudio Ferreira de Souza
www.luizclaudiofs.blogspot.com
1
Driver para ligação Java e Postgre
http://jdbc.postgresql.org/download.html
www.luizclaudiofs.blogspot.com
2
Verificando a versão do java Instalado!
No Gerenciador de arquivos ou com o Prompt
de comando ativo digite java –version
www.luizclaudiofs.blogspot.com
3
Fazendo Conexão com o Postgree
Clique em serviços:
www.luizclaudiofs.blogspot.com
4
Fazendo Conexão com o Postgree
Clique com o botão direito do Mouse sobre
Banco de Dados e escolha nova conexão
www.luizclaudiofs.blogspot.com
5
Fazendo Conexão com o Postgree
A janela abaixo aparecerá, direcione para a
pasta onde você salvou o arquivo baixado
www.luizclaudiofs.blogspot.com
6
Fazendo Conexão com o Postgree
Em algumas situações o Netbeans já possui o
drive, em outras devemos instalar (adicionar) o
drive baixado!
www.luizclaudiofs.blogspot.com
7
Conectando ao SGDB Postgre
www.luizclaudiofs.blogspot.com
8
Vamos Testar a Conexão com o Banco
de Dados Postgre
www.luizclaudiofs.blogspot.com
9
www.luizclaudiofs.blogspot.com
10
Clique no botão próximo
www.luizclaudiofs.blogspot.com
11
Selecione Públic e clique no botão
Próximo, conforme abaixo
www.luizclaudiofs.blogspot.com
12
Preservar o nome dado pelo Netbeans
e clicar no botão Finalizar
www.luizclaudiofs.blogspot.com
13
Observe a conexão com o Banco!
www.luizclaudiofs.blogspot.com
14
Vamos a um exemplo de Cadastro de
Cliente feito em Java com Postgre
Inicialmente temos que criar a base de dados
projetojava no Postgre utilizando a linguagem Sql
www.luizclaudiofs.blogspot.com
15
Agora vamos criar a tabela usuario na
base de dados projetojava
www.luizclaudiofs.blogspot.com
16
Agora com a Base de Dados projetojava e a
tabela usuario criadas, vamos ao java!
www.luizclaudiofs.blogspot.com
17
No Netbeans vamos em arquivo e
Novo Projeto
www.luizclaudiofs.blogspot.com
18
Selecione Java e Aplicação Java
www.luizclaudiofs.blogspot.com
19
Nome do Projeto: MinhaAplicacao, desmarque Criar
Classe Principal e clique em finalizar
Obs: MinhaAplicacao (Sem ç e sem ~)
Escolha a pasta da localização do projeto
www.luizclaudiofs.blogspot.com
20
Agora vamos criar os pacotes ou
packages
Usamos pacotes para organizar as classes
semelhantes. Pacotes, a grosso modo, são
apenas pastas ou diretórios do sistema
operacional onde ficam armazenados os
arquivos fonte de Java e são essenciais para o
conceito de encapsulamento, no qual são dados
níveis de acesso as classes.
www.luizclaudiofs.blogspot.com
21
Encapsulamento
É a técnica utilizada para esconder uma ideia, ou seja, não expôr
detalhes internos para o usuário, tornando partes do sistema mais
independentes possível. Por exemplo, quando um controle remoto
estraga apenas é trocado ou consertado o controle e não a televisão
inteira. Nesse exemplo do controle remoto, acontece a forma clássica
de encapsulamento, pois quando o usuário muda de canal não se sabe
que programação acontece entre a televisão e o controle para efetuar
tal ação.
Como um exemplo mais técnico podemos descrever o que acontece
em um sistema de vendas, aonde temos cadastros de funcionários,
usuários, gerentes, clientes, produtos entre outros. Se por acaso
acontecer um problema na parte do usuário é somente nesse setor
que será realizada a manutenção não afetando os demais.
www.luizclaudiofs.blogspot.com
22
No Projeto criado (MinhaAplicacao) clique com
o botão direito, selecione Novo, Pacote java
www.luizclaudiofs.blogspot.com
23
No Nome do Pacote digite factory
www.luizclaudiofs.blogspot.com
24
Criação dos Pacotes
Da mesma forma que você criou o pacote factory crie os pacotes:
Modelo, Dao e Gui
Ficando assim:
www.luizclaudiofs.blogspot.com
25
Pacote e Classes
Obs: O nome do pacote e da classe não conterão caracteres
utilizados na língua portuguesa (´ e ~)
Factory significa “fábrica” e ConnectionFactory significa
fábrica de conexões. Factory será o nome do pacote e
ConnectionFactory o nome da classe que fará a interface com
o driver JDBC de conexão a qualquer banco que desejar. Por
isso o nome “fábrica”, pois o JDBC permite a conexão a
qualquer banco: MySQL, Postgree, Oracle, SQL Server, etc.,
somente alterando a linha do método “getConnection”.
Vamos começar criando a classe ConnectionFactory no pacote
factory. Vá com o botão direito até factory e clique com o
botão
esquerdo
em
Novo
>
Classe
Java.
www.luizclaudiofs.blogspot.com
26
Criando a Classe ConnectionFactory
no pacote factory
www.luizclaudiofs.blogspot.com
27
Criando a Classe ConnectionFactory
no pacote Factory
www.luizclaudiofs.blogspot.com
28
O Pacote MinhaAplicacao ficará assim:
www.luizclaudiofs.blogspot.com
29
Código para ser acrescentado na classe
ConnectionFactory
www.luizclaudiofs.blogspot.com
30
Sobre as linhas de código:
Connection con = new
ConnectionFactory().getConnection();
Note que o método getConnection() é uma fábrica de conexões,
isto é, ele cria novas conexões para nós. Basta invocar o método
e recebemos uma conexão pronta para uso, não importando de
onde elas vieram e eventuais detalhes de criação. Portanto,
vamos chamar a classe de ConnectionFactory e o método
degetConnection.
www.luizclaudiofs.blogspot.com
31
Try e Catch
Tratamento de Exceções e Erros
Umas das utilidades proporcionadas pela orientação a objetos de Java é a facilidade em tratar possíveis
erros de execução chamados de exceções.
Sempre que um método de alguma classe é passível de causar algum erro, então, podemos usar o
método de tentativa - o try.
Tudo que estiver dentro do bloco try será executado até que alguma exceção seja lançada, ou seja, até
que algo dê errado.
Quando uma exceção é lançada, ela sempre deve ser capturada. O trabalho de captura da exceção é
executado pelo bloco catch.
Um bloco try pode possuir vários blocos de catch, dependendo do número de exceções que podem ser
lançadas por uma classe ou método.
O bloco catch obtém o erro criando uma instância da exceção. Portanto, a sintaxe do bloco try catch é:
try { // código a ser executado } catch (ClasseDeExceção instânciaDaExceção) { // tratamento da exceção
}
www.luizclaudiofs.blogspot.com
32
Vamos criar uma classe para testar a conectividade ao
Postgre, o nome da classe será TestaConexao
Você poderá criar a classe dentro do pacote
factory
www.luizclaudiofs.blogspot.com
33
Linhas de código da classe TestaConexao
www.luizclaudiofs.blogspot.com
34
Para executar a aplicação, antes você terá que adicionar
a biblioteca o drive do Postgre, vá em bibliotecas e
clique com o botão direito e selecione Adicionar
JAR/Pasta
Após isso, selecione a pasta para onde você fez o
download do drive
www.luizclaudiofs.blogspot.com
35
Execute a aplicação
www.luizclaudiofs.blogspot.com
36
Dentro do pacote Modelo, Crie a
Classe Usuário
www.luizclaudiofs.blogspot.com
37
Linhas de Código para a Classe Usuário
www.luizclaudiofs.blogspot.com
38
Crie no Pacote DAO a classe UsuarioDAO
Neste pacote ficam as classes que são
responsáveis pela Consulta, Alteração e Deleção
de registros nas tabelas do Banco de Dados
www.luizclaudiofs.blogspot.com
39
Linhas de código da classe UsuarioDAO
www.luizclaudiofs.blogspot.com
40
Linhas de código da classe UsuarioDAO
www.luizclaudiofs.blogspot.com
41
Nossa aplicação back-end está toda finalizada. Precisamos aprontar o frontend, isto é, a interface de usuário, a classe que será responsável pela
interação com o usuário, ou seja, o formulário de entrada.
No Pacote Gui, crie a Classe UsuarioGUI
www.luizclaudiofs.blogspot.com
42
Classe UsuarioGUI criada no Pacote gui
www.luizclaudiofs.blogspot.com
43
Com a ferramenta Painel, escolha propriedades. Clique
em Borda>Borda de título, intitule Cadastrar novo usuário
Construa a interface abaixo
www.luizclaudiofs.blogspot.com
44
Clique duas vezes no botão Sair para
criarmos o seu evento
Linha de código para o botão:
System.exit(0);
www.luizclaudiofs.blogspot.com
45
Clicando em Shift + F6 você poderá ver como
ficará sua interface!
www.luizclaudiofs.blogspot.com
46
Botão Limpar
Linhas de código para o botão Limpar:
www.luizclaudiofs.blogspot.com
47
Linhas de Código para o Botão
Cadastrar
www.luizclaudiofs.blogspot.com
48
Observação!
Certamente algumas mensagens de erro aparecerão. Isto porque temos que
importar no início do código as classes Usuario (pacote modelo) e
UsuarioDAO (pacote dao). Além destas, precisamos importar a classe
JOptionPane, responsável pelas janelas de validação, aquelas que aparecem
dizendo se o usuário foi ou não cadastrado, se os campos estão vazios, etc.
Coloque estas linhas no início do código, abaixo de “package gui”, na aba
Código-fonte:
import modelo.Usuario;
import dao.UsuarioDAO;
import javax.swing.JOptionPane;
www.luizclaudiofs.blogspot.com
49
www.luizclaudiofs.blogspot.com
50
Download