javaposgreeslides.pdf
TRANSCRIPT
-
Java com Banco de Dados Posgree
Prof. Luiz Claudio Ferreira de Souza
www.luizclaudiofs.blogspot.com 1
-
Driver para ligao Java e Postgre http://jdbc.postgresql.org/download.html
www.luizclaudiofs.blogspot.com 2
-
Verificando a verso do java Instalado!
No Gerenciador de arquivos ou com o Prompt de comando ativo digite java version
www.luizclaudiofs.blogspot.com 3
-
Fazendo Conexo com o Postgree
Clique em servios:
www.luizclaudiofs.blogspot.com 4
-
Fazendo Conexo com o Postgree
Clique com o boto direito do Mouse sobre Banco de Dados e escolha nova conexo
www.luizclaudiofs.blogspot.com 5
-
Fazendo Conexo com o Postgree
A janela abaixo aparecer, direcione para a pasta onde voc salvou o arquivo baixado
www.luizclaudiofs.blogspot.com 6
-
Fazendo Conexo com o Postgree Em algumas situaes 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 Conexo com o Banco de Dados Postgre
www.luizclaudiofs.blogspot.com 9
-
www.luizclaudiofs.blogspot.com 10
-
Clique no boto prximo
www.luizclaudiofs.blogspot.com 11
-
Selecione Pblic e clique no boto Prximo, conforme abaixo
www.luizclaudiofs.blogspot.com 12
-
Preservar o nome dado pelo Netbeans e clicar no boto Finalizar
www.luizclaudiofs.blogspot.com 13
-
Observe a conexo 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 Aplicao 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 localizao 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, so apenas pastas ou diretrios do sistema operacional onde ficam armazenados os arquivos fonte de Java e so essenciais para o conceito de encapsulamento, no qual so dados nveis de acesso as classes.
www.luizclaudiofs.blogspot.com 21
-
Encapsulamento
a tcnica utilizada para esconder uma ideia, ou seja, no expr detalhes internos para o usurio, tornando partes do sistema mais independentes possvel. Por exemplo, quando um controle remoto estraga apenas trocado ou consertado o controle e no a televiso inteira. Nesse exemplo do controle remoto, acontece a forma clssica de encapsulamento, pois quando o usurio muda de canal no se sabe que programao acontece entre a televiso e o controle para efetuar tal ao.
Como um exemplo mais tcnico podemos descrever o que acontece em um sistema de vendas, aonde temos cadastros de funcionrios, usurios, gerentes, clientes, produtos entre outros. Se por acaso acontecer um problema na parte do usurio somente nesse setor que ser realizada a manuteno no afetando os demais.
www.luizclaudiofs.blogspot.com 22
-
No Projeto criado (MinhaAplicacao) clique com o boto direito, selecione Novo, Pacote java
www.luizclaudiofs.blogspot.com 23
-
No Nome do Pacote digite factory
www.luizclaudiofs.blogspot.com 24
-
Criao 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 no contero caracteres utilizados na lngua portuguesa ( e ~) 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.
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
-
Cdigo para ser acrescentado na classe ConnectionFactory
www.luizclaudiofs.blogspot.com 30
-
Sobre as linhas de cdigo:
Connection con = new ConnectionFactory().getConnection();
Note que o mtodo getConnection() uma fbrica de conexes, isto , ele cria novas conexes para ns. Basta invocar o mtodo e recebemos uma conexo pronta para uso, no importando de onde elas vieram e eventuais detalhes de criao. Portanto, vamos chamar a classe de ConnectionFactory e o mtodo degetConnection.
www.luizclaudiofs.blogspot.com 31
-
Try e Catch Tratamento de Excees e Erros
Umas das utilidades proporcionadas pela orientao a objetos de Java a facilidade em tratar possveis erros de execuo chamados de excees. Sempre que um mtodo de alguma classe passvel de causar algum erro, ento, podemos usar o mtodo de tentativa - o try. Tudo que estiver dentro do bloco try ser executado at que alguma exceo seja lanada, ou seja, at que algo d errado. Quando uma exceo lanada, ela sempre deve ser capturada. O trabalho de captura da exceo executado pelo bloco catch. Um bloco try pode possuir vrios blocos de catch, dependendo do nmero de excees que podem ser lanadas por uma classe ou mtodo. O bloco catch obtm o erro criando uma instncia da exceo. Portanto, a sintaxe do bloco try catch : try { // cdigo a ser executado } catch (ClasseDeExceo instnciaDaExceo) { // tratamento da exceo }
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 cdigo da classe TestaConexao
www.luizclaudiofs.blogspot.com 34
-
Para executar a aplicao, antes voc ter que adicionar a biblioteca o drive do Postgre, v em bibliotecas e clique com o boto direito e selecione Adicionar JAR/Pasta Aps isso, selecione a pasta para onde voc fez o download do drive
www.luizclaudiofs.blogspot.com 35
-
Execute a aplicao
www.luizclaudiofs.blogspot.com 36
-
Dentro do pacote Modelo, Crie a Classe Usurio
www.luizclaudiofs.blogspot.com 37
-
Linhas de Cdigo para a Classe Usurio
www.luizclaudiofs.blogspot.com 38
-
Crie no Pacote DAO a classe UsuarioDAO
Neste pacote ficam as classes que so responsveis pela Consulta, Alterao e Deleo de registros nas tabelas do Banco de Dados
www.luizclaudiofs.blogspot.com 39
-
Linhas de cdigo da classe UsuarioDAO
www.luizclaudiofs.blogspot.com 40
-
Linhas de cdigo da classe UsuarioDAO
www.luizclaudiofs.blogspot.com 41
-
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.
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 ttulo, intitule Cadastrar novo usurio
Construa a interface abaixo
www.luizclaudiofs.blogspot.com 44
-
Clique duas vezes no boto Sair para criarmos o seu evento
Linha de cdigo para o boto:
System.exit(0);
www.luizclaudiofs.blogspot.com 45
-
Clicando em Shift + F6 voc poder ver como ficar sua interface!
www.luizclaudiofs.blogspot.com 46
-
Boto Limpar
Linhas de cdigo para o boto Limpar:
www.luizclaudiofs.blogspot.com 47
-
Linhas de Cdigo para o Boto Cadastrar
www.luizclaudiofs.blogspot.com 48
-
Observao!
Certamente algumas mensagens de erro aparecero. Isto porque temos que importar no incio do cdigo as classes Usuario (pacote modelo) e UsuarioDAO (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.Usuario; import dao.UsuarioDAO; import javax.swing.JOptionPane;
www.luizclaudiofs.blogspot.com 49
-
www.luizclaudiofs.blogspot.com 50