curso programação – java centro de formação são domingos frei joaquim josé hangalo jdbc

47

Click here to load reader

Upload: internet

Post on 22-Apr-2015

154 views

Category:

Documents


23 download

TRANSCRIPT

Page 1: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Curso Programação – JAVA

Centro de Formação São Domingos

Frei Joaquim José Hangalo

JDBC

Page 2: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Manipulação de Bases de Dados com Java

• Objetivos deste capítulo• Demonstrar os fundamentos básicos para a manipulação de

bases de dados com Java;• Conceituar e demonstrar a criação de uma conexão com a

base dados;• Demonstrar como uma aplicação realiza uma conexão e

manipulação de uma base de dados;• Apresentar as técnicas para navegação em registros;• Apresentar a sintaxe de comandos SQL usados em Java;• Enumerar os aspectos essenciais para a consulta de base de

dados.

Page 3: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Definição• A linguagem Java possui classes que permitem a conexão

com bases de dados. • Para que seja possível realizar a manipulação de bases de

dados em Java, é necessário que diversos procedimentos sejam realizados a fim de configurar o sistema.

• Os passos necessários para a manipulação de base de dados por meio de uma aplicação são os seguintes:

• 1) A criação da base de dados;• 2) A configuração do sistema por meio da criação de uma

fonte de dados (fonte ODBC-JDBC) ou conexão entre a base de dados criada e a linguagem Java;

• 3) A criação da aplicação Java propriamente dita.

Page 4: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

A Criação do Banco de Dados• A criação da base de dados é uma tarefa bem simples que

pode ser feita com Microsoft Access 2000 ou com o MYSQL ou outro Sistema de Gestão de Base de Dados

• Realize os seguintes procedimentos (NO MS ACCESS):• 1) Abra o Access;• 2) Crie uma base de dados;• 3) Crie uma tabela com o nome funcionario, por exemplo:• #codigo numero 11 (duplo)• nome texto 50• cargo texto 30• salario numero 9 (decimal)• Onde: # representa a chave primária e

Page 5: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

A Criação do Banco de Dados• A criação da base de dados é uma tarefa bem simples que

pode ser feita com Microsoft Access 2000 ou com o MYSQL ou outro Sistema de Gestão de Base de Dados

• Realize os seguintes procedimentos (NO MYSQL):• 1) Aceda ao MYSQL Adminstrator;• 2) Crie uma base de dados;• 3) Crie uma tabela com o nome funcionario, por exemplo:• #codigo Integer auto_increment• nome varchar(45)• cargo varchar(45)• salario double• Onde: # representa a chave primária e

Page 6: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Configuração do Sistema• No MS ACCESS• Para que seja possível aceder à base de dados em

Java, é necessário criar uma fonte de dados ODBC por meio do sistema operativo. Esta fonte de dados será usada para estabelecer uma ponte de comunicação entre a base de dados e o Java.

• Realize os seguintes procedimentos:• 1) Clique no botão iniciar, escolha configurações e

Painel de Controle;• 2) Dê um duplo-clique sobre o item ODBC 32 bits;• 3) Aceda a guia NDF (Nome da Fontes de Dados)

de utilizadores e pressione o botão adicionar, conforme a figura a seguir:

Page 7: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Configuração do Sistema (cont.)

Page 8: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Configuração do Sistema (cont.)• 4) A próxima janela apresenta todos os drivers

disponíveis. Como estamos a trabalhar com o Access, deve ser escolhido o driver Microsoft Access Driver. A seguir clique no botão concluir.

Page 9: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Configuração do Sistema (cont.)• 5) Na próxima janela no campo Nome da fonte de

dados digite o nome que deseja dar a fonte de dados, por exemplo Empresa.

• Depois clique no botão selecionar e localize a base de dados criada anteriormente.

Page 10: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Configuração do Sistema (cont.)• 6) A fonte de dados criada deve aparecer entre as fontes de

dados do utilizador.• Neste ponto, a base de dados que será manipulada pela

aplicação já está criada e devidamente configurado.

Page 11: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

1. Incluir no programa: import java.sql.*;2. Carregar corretamente o driver desejado.3. Conectar-se com a base de dados.4. Criar o comando JDBC.5. Enviar comandos SQL.6. Capturar dados da tabela resultante.7. Confirmar ou desfazer transações.8. Recuperar metadados sobre a tabela resultante ou

sobre a BD atual.

JDBC – principais passos

Importante: os índices em JDBC começam em 1.

Page 12: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

• Vários drivers podem ser carregados com o método Class.forName( String s). Por exemplo:Class.forName (“oracle.jdbc.driver.OracleDriver”);Class.forName (“sun.jdbc.odbc.JdbcOdbcDriver”);Class.forName (“com.mysql.jdbc.Driver”);

- O ClassLoader tenta localizar e carregar uma instância da classe ou interface designada pela String s.

- A JVM deve poder encontrar a classe especificada. Caso essa não seja encontrada, é lançada uma exceção ClassNotFoundException.

- Para aplicações, a variável de ambiente CLASSPATH deve incluir os drivers.

JDBC – Carga do driver

Page 13: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

A Criação do Banco de Dados• A criação da base de dados é uma tarefa bem simples que

pode ser feita com Microsoft Access 2000 ou com o MYSQL ou outro Sistema de Gestão de Base de Dados

• Realize os seguintes procedimentos:• 1) Abra o Access;• 2) Crie uma base de dados;• 3) Crie uma tabela com o nome funcionario, por exemplo:• #codigo numero 11 (duplo)• nome texto 50• cargo texto 30• salario numero 9 (decimal)• Onde: # representa a chave primária e • * campos obrigatórios

Page 14: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

JDBC – Conexão com o BD• A abertura da conexão (sessão) é feita pelo método

getConnection da classe DriverManager (o serviço básico para gerenciamento de um conjunto de drivers JDBC).

- Retorna um objeto do tipo Connection.- A URL é composta de protocolo:subprotocolo:subnome.- O DriverManager tenta conectar com o primeiro driver

carregado; se não consegue, tenta o driver seguinte.- Caso não seja localizado, é lançada uma exceção

SQLException.- A classe Connection possibilita estabelecer uma conexão em

bases de dados utilizando o seu nome (anyname) e uma senha (password) quando isso se fizer necessário. Esses argumentos são opcionais e podem ser desconsiderados.

- Exemplo: Connection conexao=DriverManager.getConnection(url,”UserID”,”password” );

Page 15: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo de Conexãoimport java.sql.*;public class TestaConexao{ private String driver,url; private Connection conexao; public TestaConexao(){

driver="sun.jdbc.odbc.JdbcOdbcDriver";url="jdbc:odbc:Empresa";conecta(driver,url);

}public void conecta(String driver, String url){

try{// carrega o driver da ponte jdbc-odbcClass.forName(driver);// abre conexao com a base de dados

conexao=DriverManager.getConnection(url);System.out.println("Conexão executada

com sucesso");conexao.close();}

NO MYSQLdriver=“com.mysql.jdbc.Driver”); ";url=“jdbc:mysql://localhost:3306/test ";

Page 16: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo de Conexão (cont.)catch(SQLException SqlExc){

System.out.println("Erro de SQL!");}

catch(ClassNotFoundException exc){System.out.println("Classe não encontrada!");

}}public static void main(String args[]){

TestaConexao ins=new TestaConexao();}

}

Page 17: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Criação do Statement• Esta classe tem por objetivo executar um comando SQL e obter o resultado

produzido por esse.• Apenas um ResultSet (resultado SQL) pode ser aberto a cada vez.• Um objeto desta classe é criado pelo método createStatement a partir da conexão

já estabelecida.• Statement comando=conexao.createStatement(); ou• Statement comando=conexao.createStatement(navegação,ação)- Cria um objeto

com os parâmetros fornecidos que irão definir o comportamento do objeto Statement, em que:

• Navegação pode ser: TYPE_FORWARD_ONLY (navegação apenas para frente, TYPE_SCROLL_INSENSITIVE (navegação nos dois sentidos) ou TYPE_SCROLL_SENSITIVE (navegação nos dois sentidos). Os dois últimos tipos de navegação são similares. A diferença é que as alterações no conteúdo da tabela realizadas em tempo de execução não refletem no tipo INSENSITIVE, enquanto no SENSITIVE sim. Se o parâmetro de navegação não for especificado, será usada a navegação TYPE_FORWARD_ONLY.

Page 18: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Criação do Statement (cont.)• Ação pode ser: CONCUR_READ_ONLY (somente leitura) ou

CONCUR_UPDATABLE (leitura e atualização). Refere-se ao modo como o objeto ResultSet será criado, ou seja, se ele será somente leitura ou seu valor pode ser alterado.

Há outros dois subtipos de Statement:- PreparedStatement : o comando SQL é pré-compilado e

utilizado posteriormente, sendo mais eficiente nos casos onde o mesmo comando é utilizado várias vezes. Utiliza o método con.prepareStatement(String sql) .

- Este comando pode conter um ou mais '?' parâmetros.

- CallableStatement : utilizado para chamar procedimentos SQL armazenados na BD (stored procedures). Utiliza o método con.prepareCall(String sql) .

Page 19: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

A classe Statement

• Dois dos seus principais métodos são:

- ResultSet executeQuery(String sql): usado para comandos SQL que retornam uma única tabela (ResultSet), tipicamente o SELECT.

- int executeUpdate(String sql): usado para executar comandos SQL que alteram a tabela (CREATE, INSERT, UPDATE ou DELETE). Retorna o número de colunas alteradas.

Page 20: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Movimentação em Registros• Quando um ResultSet é navegável, diversas operações

podem ser realizadas por meio dele, pelos métodos de movimentação do ponteiro, os quais são descritos a seguir:

• first() – posiciona o ponteiro no primeiro registro do objeto ReusltSet;

• last() – posiciona o ponteiro no último registro do objeto do ResultSet;

• next() – posiciona o ponteiro no próximo registro do objeto do ResultSet;

• previous() – posiciona o ponteiro no registro anterior do objeto do ResultSet;

Page 21: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

• A classe ResultSet oferece à aplicação a tabela resultante de um SELECT.- Mantém um cursor posicionando numa linha da tabela. De início, esse

cursor está posicionado antes da primeira linha. O método next( ) é que movimenta o cursor para o próximo registro.

- Permite à aplicação capturar os dados de cada coluna da tupla (linha) corrente através do método getXXX(<coluna>), onde XXX é o tipo da coluna e <coluna> é o nome da coluna ou sua posição (a partir de 1).

- Exemplo:ResultSet rs = stmt.executeQuery (

“select a, b, c from table1”);while (rs.next ( )) { int x = rs.getInt(“a”);

String s = rs.getString(2); float f = rs.getFloat(“c”); }

Envio de comandos SQLObtenção do resultado

Page 22: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

• Uma transação é um conjunto de um ou mais comandos que são executados juntos como uma unidade: se não for possível que todos sejam executados, então nenhum deles será executado.

• Uma transação é um conjunto de Statements que são validados na BD com commit ou cancelados com rollback.

• Transações podem ajudar a preservar a integridade dos dados de uma tabela.

• Por default, todos os comandos no JDBC são auto-commit.

con.setAutoCommit(false); // muda o default

Statement stmt = con.createStatement();

stmt.executeUpdate(“...”); stmt.executeUpdate(“...”);if (...) con.commit(); //se Ok, valida os 2 updateselse con.rollback(); //senão, desfaz os updates

Transações

Page 23: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Consulta da Base de Dados• O exemplo a seguir mostrar os procedimentos

necessários para executar comandos DML a base de dados por meio de comandos SQL.

• import java.sql.*;• public class TestaDML{• private static String driver,url;• private Connection conexao;• private Statement comando;• private ResultSet resultado;• public TestaDML(){• driver="sun.jdbc.odbc.JdbcOdbcDriver";• url="jdbc:odbc:Empresa";• //url="jdbc:odbc:Driver={Microsoft Access Driver

(*.mdb)};DBQ=c:/java/empresa.mdb";• }

Page 24: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo (cont.)• public void conecta(){• try{• // carrega o driver da ponte jdbc-odbc• Class.forName(driver);• // abre conexao com o banco de dados• conexao=DriverManager.getConnection(url);• System.out.println("Conexão executada com sucesso");• }• catch(SQLException SqlExc){• System.out.println("Erro de SQL!");• }• catch(ClassNotFoundException exc){• System.out.println("Classe não encontrada!");• }• }•

Page 25: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo (cont.)• public void insereDados(){• try{• String sql="insert into empregados

values(1238,'Marcos','Analista',2000);";• comando=conexao.createStatement();• comando.executeUpdate(sql);• }• catch(SQLException SqlExc){• System.out.println("Erro de SQL!");• }• }

Page 26: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo (cont.)• public void listaDados (){• String sql="select cpf,nome,cargo,salario from empregados";• try{• comando=conexao.createStatement();• resultado=comando.executeQuery(sql);• while(resultado.next()){• String cpf=resultado.getString(“codigo");• String nome=resultado.getString("nome");• String cargo=resultado.getString("cargo");• String salario=resultado.getString("salario");• System.out.println(“Código: "+codigo+" - "+"NOME:

"+nome+" - "+"CARGO: "+cargo+" - "+"SALARIO:"+salario);• }• }• catch(SQLException SqlExc){• System.out.println("Erro de SQL!");• } }

Page 27: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo (cont.)• public void modificaDados(){• try{• String sql="update empregados set salario=3000 where codigo=1238;";• comando=conexao.createStatement();• comando.executeUpdate(sql);• }• catch(SQLException SqlExc){• System.out.println("Erro de SQL!");• }• }

Page 28: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo (cont.)• public void eliminaDados(){• try{• String sql="delete from empregados where

codigo=1238;";• comando=conexao.createStatement();• comando.executeUpdate(sql);• }• catch(SQLException SqlExc){• System.out.println("Erro de SQL!");• }• }

Page 29: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo (cont.)• public void desconecta(){• try{• conexao.close();• }• catch(SQLException SqlExc){• System.out.println("Erro de SQL!");• }• }• public static void main(String args[]){• TestaDML tdml=new TestaDML();• tdml.conecta();• tdml.insereDados();• tdml.listaDados();• tdml.modificaDados();• tdml.eliminaDados();• tdml.desconecta();• }• }

Page 30: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Navegando na BD através de uma interface gráfica

• O exemplo a seguir apresenta a navegação numa interface gráfica. O exemplo foi dividido em diversos métodos a fim de facilitar o entendimento. Os tratamentos de exceção não foram introduzidos para não deixar o código muito extenso.

Page 31: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo de navegação em BD

• import javax.swing.*;• import java.awt.*;• import java.awt.event.*;• import java.sql.*;• public class NavegaBanco extends JFrame implements

ActionListener{• private JLabel jlcpf,jlnome,jlcargo,jlsalario;• private JTextField jtfcpf,jtfnome,jtfcargo,jtfsalario;• private JButton jbproximo,jbanterior,jbprimeiro,jbultimo,• jbalterar,jbincluir,jbexcluir,jbsair,jblimpa;• private JPanel jpdados,jpnavegacao,jpalteracao,jpgeral;• private Connection conexao;• private Statement comando;• private ResultSet resultado;• private static String driver,url;

Page 32: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo de navegação em BD (cont.)• public NavegaBanco(){• driver="sun.jdbc.odbc.JdbcOdbcDriver";• url="jdbc:odbc:Driver={Microsoft Access Driver

(*.mdb)};DBQ=c:/java/empresa.mdb";• jlcpf=new JLabel("Código");• jlnome=new JLabel("Nome");• jlcargo=new JLabel("Cargo");• jlsalario=new JLabel("Salário");• jtfcpf=new JTextField(10);• jtfnome=new JTextField(10);• jtfcargo=new JTextField(10);• jtfsalario=new JTextField(10);• jbproximo=new JButton("próximo");• jbanterior=new JButton("anterior");• jbprimeiro=new JButton("primeiro");• jbultimo=new JButton("último");•

Page 33: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo de navegação em BD (cont.)• jbincluir=new JButton("incluir");• jbalterar=new JButton("alterar");• jbexcluir=new JButton("excluir");• jbsair=new JButton("sair");• jblimpa=new JButton("limpar");• jpdados=new JPanel(new GridLayout(4,1));• jpnavegacao=new JPanel(new FlowLayout());• jpalteracao=new JPanel(new FlowLayout());• jpgeral=new JPanel(new GridLayout(4,2));• jpdados.add(jlcpf);• jpdados.add(jtfcpf);• jpdados.add(jlnome);• jpdados.add(jtfnome);• jpdados.add(jlcargo);• jpdados.add(jtfcargo);• jpdados.add(jlsalario);• jpdados.add(jtfsalario);•

Page 34: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo de navegação em BD (cont.)• jpnavegacao.add(jbproximo);• jpnavegacao.add(jbanterior);• jpnavegacao.add(jbprimeiro);• jpnavegacao.add(jbultimo);• jpalteracao.add(jbincluir);• jpalteracao.add(jbalterar);• jpalteracao.add(jbexcluir);• jpalteracao.add(jblimpa);• jpalteracao.add(jbsair);• jpgeral.add(jpdados);• jpgeral.add(jpnavegacao);• jpgeral.add(jpalteracao);• getContentPane().add(jpgeral);• jbproximo.addActionListener(this);• jbanterior.addActionListener(this);• jbprimeiro.addActionListener(this);• jbultimo.addActionListener(this);•

Page 35: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo de navegação em BD (cont.)• jbsair.addActionListener(this);• jblimpa.addActionListener(this);• jbincluir.addActionListener(this);• jbalterar.addActionListener(this);• jbexcluir.addActionListener(this);• setTitle("Navegando na Base de Dados");• setVisible(true);• pack();• }•

Page 36: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo de navegação em BD (cont.)• public void actionPerformed(ActionEvent e){• try{• if(e.getSource()==jbproximo)• resultado.next();• if(e.getSource()==jbanterior)• resultado.previous();• if(e.getSource()==jbprimeiro)• resultado.first();• if(e.getSource()==jbultimo)• resultado.last();• if(e.getSource()==jbincluir)• insereDados();• if(e.getSource()==jbalterar)• modificaDados();• if(e.getSource()==jbexcluir)• eliminaDados();•

Page 37: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo de navegação em BD (cont.)• if(e.getSource()==jblimpa)• limpaCampos();• if(e.getSource()!=jblimpa ||

e.getSource()!=jbexcluir)atualizaCampos();• if(e.getSource()==jbsair){• desconecta();• System.exit(0);• }• }• catch(SQLException SqlExc){• System.out.println("Erro de SQL!");• }• }•

Page 38: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo de navegação em BD (cont.)• public void conecta(){• try{• Class.forName(driver);• conexao=DriverManager.getConnection(url);• System.out.println("Conexão executada com sucesso");• }• catch(SQLException SqlExc){• System.out.println("Erro de SQL!");• }• catch(ClassNotFoundException exc){• System.out.println("Classe não encontrada!");• }• }• public void listaDados (){• String sql="select codigo,nome,cargo,salario from

empregados";•

Page 39: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo de navegação em BD (cont.)• try{•

comando=conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,• ResultSet.CONCUR_UPDATABLE );• resultado=comando.executeQuery(sql);• resultado.first();• atualizaCampos();• }• catch(SQLException SqlExc){• System.out.println("Erro de SQL!");• }• }• public void insereDados(){• try{• String sql="insert into empregados

values("+jtfcodigo.getText()+",'"+jtfnome.getText()+"','"+

Page 40: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo de navegação em BD (cont.)• jtfcargo.getText()+"',"+jtfsalario.getText()

+");";• comando.executeUpdate(sql);• listaDados ();• }• catch(SQLException SqlExc){• System.out.println("Erro de SQL!");• }• }

Page 41: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo de navegação em BD (cont.)• public void modificaDados(){• try{• String sql="update empregados set

nome='"+jtfnome.getText()+"',cargo='"+jtfcargo.getText()+"',salario="+jtfsalario.getText()+" where codigo="+jtfcodigo.getText()+";";

• comando.executeUpdate(sql);• listaDados ();• }• catch(SQLException SqlExc){• System.out.println("Erro de SQL!");• }• }

Page 42: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo de navegação em BD (cont.)• public void eliminaDados(){• try{• String sql="delete from empregados

where codigo="+jtfcodigo.getText()+";";• comando.executeUpdate(sql);• listaDados ();• }• catch(SQLException SqlExc){• System.out.println("Erro de SQL!");• }• }•

Page 43: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo de navegação em BD (cont.) public void atualizaCampos(){

• try{• jtfcpf.setText(resultado.getString("codigo"));• jtfnome.setText(resultado.getString("nome"));• jtfcargo.setText(resultado.getString("cargo"));•

jtfsalario.setText(resultado.getString("salario"));• }• catch(SQLException SqlExc){• System.out.println("Erro de SQL!");• }• }

Page 44: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exemplo de navegação em BD (cont.)• public void limpaCampos(){• jtfcodigosetText("");• jtfnome.setText("");• jtfcargo.setText("");• jtfsalario.setText("");• }• public void desconecta(){• try{• conexao.close();• }• catch(SQLException SqlExc){• System.out.println("Erro de SQL!");• }• }• public static void main(String args[]){• NavegaBanco nb=new NavegaBanco();• nb.conecta();• nb.listaDados();• }}

Page 45: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Exercício

• Como sugestão para manipulação de base de dados, faça um cadastro de clientes, seguindo os mesmos procedimentos apresentados no cadastramento de empregados. Utilize pelo menos os campos código, nome, endereço, telefone e sexo. Você deve seguir todos os passos desde a criação da base de dados.

• E visualize os dados num JTable• Utilize sua criatividade.

Page 46: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC

Bibliografia

- FURGERI, Sérgio. Java 2: Ensino didático: Desenvolvendo e Implementando Aplicações –

- São Paulo: Érica, 372p. 2002. - TAMASSIA, R.; GOODRICH, M.T. Estrutura

de Dados e Algoritmos em Java. Bookman, 2002.

- DEITEL,H.M.; DEITEL, P.J. Java: Como Programar, Bookman, 2002.

Page 47: Curso Programação – JAVA Centro de Formação São Domingos Frei Joaquim José Hangalo JDBC