java com banco de dados posgree - anisioteixeira.com.br · banco de dados e escolha nova conexão 5...

50
Java com Banco de Dados Posgree Prof. Luiz Claudio Ferreira de Souza www.luizclaudiofs.blogspot.com 1

Upload: vunga

Post on 10-Nov-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Java com Banco de Dados Posgree

Prof. Luiz Claudio Ferreira de Souza

www.luizclaudiofs.blogspot.com 1

Page 2: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Driver para ligação Java e Postgre http://jdbc.postgresql.org/download.html

www.luizclaudiofs.blogspot.com 2

Page 3: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

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

Page 4: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Fazendo Conexão com o Postgree

Clique em serviços:

www.luizclaudiofs.blogspot.com 4

Page 5: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

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

Page 6: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

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

Page 7: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

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

Page 8: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Conectando ao SGDB Postgre

www.luizclaudiofs.blogspot.com 8

Page 9: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Vamos Testar a Conexão com o Banco de Dados Postgre

www.luizclaudiofs.blogspot.com 9

Page 10: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

www.luizclaudiofs.blogspot.com 10

Page 11: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Clique no botão próximo

www.luizclaudiofs.blogspot.com 11

Page 12: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Selecione Públic e clique no botão Próximo, conforme abaixo

www.luizclaudiofs.blogspot.com 12

Page 13: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Preservar o nome dado pelo Netbeans e clicar no botão Finalizar

www.luizclaudiofs.blogspot.com 13

Page 14: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Observe a conexão com o Banco!

www.luizclaudiofs.blogspot.com 14

Page 15: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

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

Page 16: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Agora vamos criar a tabela usuario na base de dados projetojava

www.luizclaudiofs.blogspot.com 16

Page 17: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Agora com a Base de Dados projetojava e a tabela usuario criadas, vamos ao java!

www.luizclaudiofs.blogspot.com 17

Page 18: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

No Netbeans vamos em arquivo e Novo Projeto

www.luizclaudiofs.blogspot.com 18

Page 19: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Selecione Java e Aplicação Java

www.luizclaudiofs.blogspot.com 19

Page 20: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

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

Page 21: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

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

Page 22: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

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

Page 23: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

No Projeto criado (MinhaAplicacao) clique com o botão direito, selecione Novo, Pacote java

www.luizclaudiofs.blogspot.com 23

Page 24: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

No Nome do Pacote digite factory

www.luizclaudiofs.blogspot.com 24

Page 25: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

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

Page 26: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

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

Page 27: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Criando a Classe ConnectionFactory no pacote factory

www.luizclaudiofs.blogspot.com 27

Page 28: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Criando a Classe ConnectionFactory no pacote Factory

www.luizclaudiofs.blogspot.com 28

Page 29: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

O Pacote MinhaAplicacao ficará assim:

www.luizclaudiofs.blogspot.com 29

Page 30: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Código para ser acrescentado na classe ConnectionFactory

www.luizclaudiofs.blogspot.com 30

Page 31: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

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

Page 32: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

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

Page 33: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

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

Page 34: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Linhas de código da classe TestaConexao

www.luizclaudiofs.blogspot.com 34

Page 35: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

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

Page 36: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Execute a aplicação

www.luizclaudiofs.blogspot.com 36

Page 37: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Dentro do pacote Modelo, Crie a Classe Usuário

www.luizclaudiofs.blogspot.com 37

Page 38: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Linhas de Código para a Classe Usuário

www.luizclaudiofs.blogspot.com 38

Page 39: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

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

Page 40: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Linhas de código da classe UsuarioDAO

www.luizclaudiofs.blogspot.com 40

Page 41: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Linhas de código da classe UsuarioDAO

www.luizclaudiofs.blogspot.com 41

Page 42: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Nossa aplicação back-end está toda finalizada. Precisamos aprontar o front-end, 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

Page 43: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Classe UsuarioGUI criada no Pacote gui

www.luizclaudiofs.blogspot.com 43

Page 44: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

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

Page 45: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

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

Page 46: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Clicando em Shift + F6 você poderá ver como ficará sua interface!

www.luizclaudiofs.blogspot.com 46

Page 47: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Botão Limpar

Linhas de código para o botão Limpar:

www.luizclaudiofs.blogspot.com 47

Page 48: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

Linhas de Código para o Botão Cadastrar

www.luizclaudiofs.blogspot.com 48

Page 49: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

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

Page 50: Java com Banco de Dados Posgree - anisioteixeira.com.br · Banco de Dados e escolha nova conexão 5 . Fazendo Conexão com o Postgree A janela abaixo aparecerá, direcione para a

www.luizclaudiofs.blogspot.com 50