Java Web
*Slides do primeiro módulo do Curso Formação Java Web da 3Way Networks
Todos direitos reservados a 3Way Networks
Java WEB
Aula 01
– Banco de Dados Relacionais
– SQL
– JDBC
Páginas: 8 à 16
Todos direitos reservados a 3Way Networks
Bancos de Dados Relacionais
• Mídia de armazenamento escolhida por muitas aplicações
baseadas na WEB que requerem conteúdo...
Bancos de Dados Relacionais: Tabelas
TABELA – CLIENTES
ID NOME ENDERECO CPF
1003 JOAO AFONSO RUA 200 02153565584
1004 MARI...
• Tabelas de bancos de dados são projetadas com restrições
lógicas para preservar a consistência de seus dados
– Assinalaç...
Comandos SQL
• Operações em bancos de dados relacionais são realizadas por
meio do uso de SQL ( Structured Query Language,...
Recuperação de Dados
• Focado na leitura de dados a partir de uma ou mais tabelas no
banco de dados
– Pode ser aberta para...
Comando SELECT
É usado para selecionar dados nas tabelas do banco de dados.
SELECT coluna(s) FROM nomeTabela where condiçã...
Cláusula FROM e União de Tabelas
• Define em uma declaração SELECT as tabelas a partir das
quais os dados serão reunidos
–...
União de Tabelas
• Usando uma das várias palavras-chave
– JOIN
– LEFT JOIN
– RIGHT JOIN
– INNER JOIN
• Exemplos:
FROM tabe...
Exemplo de União de Tabelas
Dadas as tabelas clientes e compra:
TABELA – CLIENTES
ID NOME ENDERECO CPF
1003 JOAO AFONSO RU...
Exemplo de União
A união dessas tabelas resulta em um plano cartesiano com
união de todos os registros das duas tabelas.
U...
União de Tabelas
LEFT JOIN
ID NOME ENDERECO CPF ID ID_CLIENTE COD_PRODUTO QTD
1003 JOAO AFONSO RUA 200 02153565584 100 100...
União de Tabelas
• RIGHT JOIN, é exatamente o inverso do uso do LEFT JOIN, ou
seja, será recuperado todos os registros da ...
União de Tabelas
• INNER JOIN, a união utilizando este comando implica em trazer
somente os resultados quando existir nas ...
União de Tabelas
• Na maioria dos casos, uma INNER JOIN rende os resultados
mais relevantes para operações de união
• A ca...
Cláusula WHERE
• Especifica uma condição que deve ser casada pelas entradas
na tabela selecionada para que elas sejam util...
Exemplos de declarações SELECT
• Recupera todas colunas e dados disponíveis na tabela Clientes:
SELECT * FROM clientes;
• ...
Manipulação de Dados
• Usado para modificar o valor de dados dentro de tabelas.
• Comandos SQL podem ser:
– Comando INSERT...
Comando INSERT
• Comando utilizado para inserir dados na tabela:
• Deve seguir as regras de integridade da tabela, ou seja...
Comando INSERT
INSERT INTO clientes
VALUES('2006','JOSE JUNIOR','PRAÇA DA VIDA, '52147844174')
TABELA – CLIENTES
ID NOME E...
Comando INSERT
INSERT INTO clientes
(CPF, ID, ENDERECO, NOME)
VALUES ('2365412394','2007','RUA JACA','MARIA MARTA')
TABELA...
Comando UPDATE
• Comando utilizado quando se quer alterar dados em uma
tabela
• Quaisquer atualizações devem ser conforme ...
Data a tabela produtos:
Comando UPDATE
PRODUTOS
ID PRODUTO PRECO
56 PASTA DENTAL 2,55
1242 DESODORANTE 8,78
2556 MOUSE 12,...
Comando UPDATE
UPDATE clientes
SET CPF = '32365412394' WHERE ID = '2007'
TABELA – CLIENTES
ID NOME ENDERECO CPF
1003 JOAO ...
Comando DELETE
• Se nenhuma condição for dada, o comando elimina todos os
registros na tabela especificada.
• Sintaxe:
DEL...
DELETE FROM clientes
WHERE ID = '2006' OR ID = '2007'
Comando DELETE
TABELA – CLIENTES
ID NOME ENDERECO CPF
1003 JOAO AFON...
JDBC – Java DataBase Connectivity
• Biblioteca padrão que fornece acesso a bancos de dados por
meio de Java
• Desenvolvedo...
• java.sql.Connection: Representa uma conexão com um banco
de dados
• java.sql.DriverManager: Gerencia drivers JDBC usados...
java.sql.DriverManager
• Permite que um desenvolvedor recupere um objeto Connection
que pode ser usado para executar instr...
Executando uma Conexão
Todos direitos reservados a 3Way Networks
java.sql.Connection / java.sql.Statement
• Objetos da classe java.sql.Connection representam conexões
criada para o banco ...
java.sql.ResultSet
• Contém o resultado de uma consulta no banco de dados.
• Um objeto ResultSet pode ser visualizado como...
Executando uma Consulta
Todos direitos reservados a 3Way Networks
Executando uma Consulta
Todos direitos reservados a 3Way Networks
Executando uma Consulta
Resultado da consulta seria:
JOAO AFONSO :: 02153565584
MARIA JOSEFINA :: 69535412584
JOSE BARBOSA...
Executando uma Inserção
Todos direitos reservados a 3Way Networks
Executando uma Inserção
ID NOME ENDERECO CPF
1003 JOAO AFONSO RUA 200 02153565584
1004 MARIA JOSEFINA RUA DOS AFLITOS 6953...
Liberando Recursos do Sistema
• Este é um passo muito importante que freqüentemente é
negligenciado após ter sido completa...
• Executada quando chamado o método close() disponível em
cada objeto das classes Connection, Statement, e ResultSet
– Exi...
FAZER LABORATÓRIO 1
Todos direitos reservados a 3Way Networks
Curso Java Web
Curso Java Web
Curso Java Web
Curso Java Web
Curso Java Web
Próximos SlideShares
Carregando em…5
×

Curso Java Web

625 visualizações

Publicada em

Slides Java Web faz parte do curso Formação Java Web da 3Way Networks! A apostila pode ser encontrada no Scribd.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
625
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
32
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Curso Java Web

  1. 1. Java Web *Slides do primeiro módulo do Curso Formação Java Web da 3Way Networks Todos direitos reservados a 3Way Networks
  2. 2. Java WEB Aula 01 – Banco de Dados Relacionais – SQL – JDBC Páginas: 8 à 16 Todos direitos reservados a 3Way Networks
  3. 3. Bancos de Dados Relacionais • Mídia de armazenamento escolhida por muitas aplicações baseadas na WEB que requerem conteúdo dinâmico. • Sintaxe básica necessária para recuperar e manipular dados armazenados, de fácil aprendizado. • Possui suporte muito difundido pela indústria. • Armazena registros como conjuntos relacionados.  O processo de armazenagem e captura de dados em um banco é chamado de persistência. Todos direitos reservados a 3Way Networks
  4. 4. Bancos de Dados Relacionais: Tabelas TABELA – CLIENTES ID NOME ENDERECO CPF 1003 JOAO AFONSO RUA 200 02153565584 1004 MARIA JOSEFINA RUA DOS AFLITOS 69535412584 2005 JOSE BARBOSA AV. DEPENDENCIA 96524136984 TABELA – COMPRA ID ID_CLIENTE COD_PRODUTO QTD 100 1003 2556 5 101 1008 1242 8 102 1004 56 2 103 2056 65995 1 Todos direitos reservados a 3Way Networks
  5. 5. • Tabelas de bancos de dados são projetadas com restrições lógicas para preservar a consistência de seus dados – Assinalação de tipos de dados – Singularidade – Outros Bancos de Dados Relacionais: Tabelas TABELA – CLIENTES ID NOME ENDERECO CPF 1003 JOAO AFONSO RUA 200 02153565584 1004 MARIA JOSEFINA RUA DOS AFLITOS 69535412584 2005 JOSE BARBOSA AV. DEPENDENCIA 96524136984 ID tipo Integer NOME, ENDERECO tipo VARCHAR CPF tipo CHAR(11) E ÚNICO Todos direitos reservados a 3Way Networks
  6. 6. Comandos SQL • Operações em bancos de dados relacionais são realizadas por meio do uso de SQL ( Structured Query Language, ou Linguagem de Consulta Estruturada ) • Há diversos tipos de comandos de SQL • Entre estes: – Recuperação de dados – Manipulação de dados Todos direitos reservados a 3Way Networks
  7. 7. Recuperação de Dados • Focado na leitura de dados a partir de uma ou mais tabelas no banco de dados – Pode ser aberta para recuperar TODOS os conjuntos de dados – Pode ser parametrizada com valores conhecidos • Somente um comando SQL abrange este tipo: SELECT Todos direitos reservados a 3Way Networks
  8. 8. Comando SELECT É usado para selecionar dados nas tabelas do banco de dados. SELECT coluna(s) FROM nomeTabela where condição(ões) TABELA – CLIENTES ID NOME ENDERECO CPF 1003 JOAO AFONSO RUA 200 02153565584 1004 MARIA JOSEFINA RUA DOS AFLITOS 69535412584 2005 JOSE BARBOSA AV. DEPENDENCIA 96524136984 SELECT * FROM clientes WHERE ID = '1004'; Resultado: 1004 MARIA JOSEFINA RUA DOS AFLITOS 69535412584 Todos direitos reservados a 3Way Networks
  9. 9. Cláusula FROM e União de Tabelas • Define em uma declaração SELECT as tabelas a partir das quais os dados serão reunidos – Se o dados vem de uma só tabela – Se o dados vem de mais de uma tabela • Tabelas podem ser separadas por meio de vírgulas • Modo mais simples entretanto, o desempenho classifica os dados mais lentamente. • Executa um produto cartesiano nas tabelas • Exemplo: dadas duas tabelas, clientes e compra, união é executada por ... FROM clientes, compra where clientes.id = compra.id_cliente ... Todos direitos reservados a 3Way Networks
  10. 10. União de Tabelas • Usando uma das várias palavras-chave – JOIN – LEFT JOIN – RIGHT JOIN – INNER JOIN • Exemplos: FROM tabela1 JOIN tabela2 on tabela1.id = tabela2.id FROM tabela1 LEFT JOIN tabela2 on tabela1.id = tabela2.id FROM tabela1 RIGHT JOIN tabela2 on tabela1.id = tabela2.id FROM tabela1 INNER JOIN tabela2 on tabela1.id = tabela2.id Todos direitos reservados a 3Way Networks
  11. 11. Exemplo de União de Tabelas Dadas as tabelas clientes e compra: TABELA – CLIENTES ID NOME ENDERECO CPF 1003 JOAO AFONSO RUA 200 02153565584 1004 MARIA JOSEFINA RUA DOS AFLITOS 69535412584 2005 JOSE BARBOSA AV. DEPENDENCIA 96524136984 TABELA – COMPRA ID ID_CLIENTE COD_PRODUTO QTD 100 1003 2556 5 101 1008 1242 8 102 1004 56 2 103 2056 65995 1 Todos direitos reservados a 3Way Networks
  12. 12. Exemplo de União A união dessas tabelas resulta em um plano cartesiano com união de todos os registros das duas tabelas. UNIÃO DE CLIENTES COM COMPRA ID NOME ENDERECO CPF ID ID_CLIENTE COD_PRODUTO QTD 1003 JOAO AFONSO RUA 200 02153565584 100 100 1003 2556 1003 JOAO AFONSO RUA 200 02153565584 101 101 1008 1242 1003 JOAO AFONSO RUA 200 02153565584 102 102 1004 56 1003 JOAO AFONSO RUA 200 02153565584 103 103 2056 65995 1004 MARIA JOSEFINA RUA DOS AFLITOS 69535412584 100 100 1003 2556 1004 MARIA JOSEFINA RUA DOS AFLITOS 69535412584 101 101 1008 1242 1004 MARIA JOSEFINA RUA DOS AFLITOS 69535412584 102 102 1004 56 1004 MARIA JOSEFINA RUA DOS AFLITOS 69535412584 103 103 2056 65995 2005 JOSE BARBOSA AV. DEPENDENCIA 96524136984 100 100 1003 2556 2005 JOSE BARBOSA AV. DEPENDENCIA 96524136984 101 101 1008 1242 2005 JOSE BARBOSA AV. DEPENDENCIA 96524136984 102 102 1004 56 2005 JOSE BARBOSA AV. DEPENDENCIA 96524136984 103 103 2056 65995 Todos direitos reservados a 3Way Networks
  13. 13. União de Tabelas LEFT JOIN ID NOME ENDERECO CPF ID ID_CLIENTE COD_PRODUTO QTD 1003 JOAO AFONSO RUA 200 02153565584 100 1003 2556 5 1004 MARIA JOSEFINA RUA DOS AFLITOS 69535412584 102 1004 56 2 2005 JOSE BARBOSA AV. DEPENDENCIA 96524136984 • LEFT JOIN, a união utilizando este comando implica em trazer todos os registros de CLIENTE não sendo obrigatório existir dados na tabela COMPRA unidas com LEFT, mas se tiver resultado, então deve ser recuperado a COMPRA junto com o registro do respectivo CLIENTE. Se o cliente não tiver feito nenhuma compra, então as colunas de COMPRA vem vazias. SELECT * FROM cliente LEFT JOIN compra ON cliente.ID = compra.ID_CLIENTE Todos direitos reservados a 3Way Networks
  14. 14. União de Tabelas • RIGHT JOIN, é exatamente o inverso do uso do LEFT JOIN, ou seja, será recuperado todos os registros da tabela COMPRA e para as compras que tiver CLIENTE, então os dados do CLIENTE será recuperado, caso contrária retornará vazio. SELECT * FROM cliente RIGHT JOIN compra ON cliente.ID = compra.ID_CLIENTE RIGHT JOIN ID NOME ENDERECO CPF ID ID_CLIENTE COD_PRODUTO QTD 1003 JOAO AFONSO RUA 200 02153565584 100 1003 2556 5 101 1008 1242 8 1004 MARIA JOSEFINA RUA DOS AFLITOS 69535412584 102 1004 56 2 103 2056 65995 1 Todos direitos reservados a 3Way Networks
  15. 15. União de Tabelas • INNER JOIN, a união utilizando este comando implica em trazer somente os resultados quando existir nas duas tabelas relacionadas. Para o nosso caso só será retornado os CLIENTES que fizeram COMPRAS e as COMPRAS que possuem CLIENTES cadastrados. SELECT * FROM cliente INNER JOIN compra ON cliente.ID = compra.ID_CLIENTE INNER JOIN ID NOME ENDERECO CPF ID ID_CLIENTE COD_PRODUTO QTD 1003 JOAO AFONSO RUA 200 02153565584 100 1003 2556 5 1004 MARIA JOSEFINA RUA DOS AFLITOS 69535412584 102 1004 56 2 Todos direitos reservados a 3Way Networks
  16. 16. União de Tabelas • Na maioria dos casos, uma INNER JOIN rende os resultados mais relevantes para operações de união • A casos onde as entradas de uma tabela deveriam aparecer não importando a existência de dados de outra tabela, a utilização de LEFT JOIN ou RIGHT JOIN é mais apropriada • Evite usar união delimitada por vírgulas • É mais simples e conveniente de escrever união de tabelas utilizando palavras-chave Todos direitos reservados a 3Way Networks
  17. 17. Cláusula WHERE • Especifica uma condição que deve ser casada pelas entradas na tabela selecionada para que elas sejam utilizadas como filtro para o resultado • Operadores lógicos podem ser usados:  = (igualdade)  <= (menor ou igual) , < (menor)  >= (maior ou igual), > (maior)  like - executa comparação para campos texto: % - utilizado para indicar que após e/ou antes do carácter pode- se ter qualquer valor, dependendo da posição utilizada Todos direitos reservados a 3Way Networks
  18. 18. Exemplos de declarações SELECT • Recupera todas colunas e dados disponíveis na tabela Clientes: SELECT * FROM clientes; • Retorna somente a coluna ENDERECO da tabela Clientes com a coluna Nome o valor igual JOAO AFONSO: SELECT ENDERECO FROM cliente WHERE NOME = 'JOAO AFONSO'; • Retorna todos as colunas da tabela Clientes com o valor da coluna Nome iniciado por 'S': SELECT * FROM clientes WHERE NOME LIKE 'S%'; Todos direitos reservados a 3Way Networks
  19. 19. Manipulação de Dados • Usado para modificar o valor de dados dentro de tabelas. • Comandos SQL podem ser: – Comando INSERT – Comando UPDATE – Comando DELETE Todos direitos reservados a 3Way Networks
  20. 20. Comando INSERT • Comando utilizado para inserir dados na tabela: • Deve seguir as regras de integridade da tabela, ou seja, não tentar inserir uma string em um campo inteiro. • Sintaxe: INSERT INTO tabela VALUES ('VALOR1', 'VALOR2', ..., 'VALORn'); INSERT INTO tabela ( CAMPO1, CAMPO2, ... CAMPOn ) VALUES ( 'VALORC1', 'VALORC2', ... 'VALORCn' ) Todos direitos reservados a 3Way Networks
  21. 21. Comando INSERT INSERT INTO clientes VALUES('2006','JOSE JUNIOR','PRAÇA DA VIDA, '52147844174') TABELA – CLIENTES ID NOME ENDERECO CPF 1003 JOAO AFONSO RUA 200 02153565584 1004 MARIA JOSEFINA RUA DOS AFLITOS 69535412584 2005 JOSE BARBOSA AV. DEPENDENCIA 96524136984 TABELA – CLIENTES ID NOME ENDERECO CPF 1003 JOAO AFONSO RUA 200 02153565584 1004 MARIA JOSEFINA RUA DOS AFLITOS 69535412584 2005 JOSE BARBOSA AV. DEPENDENCIA 96524136984 2006 JOSE JUNIOR PRAÇA DA VIDA 52147844174 Todos direitos reservados a 3Way Networks
  22. 22. Comando INSERT INSERT INTO clientes (CPF, ID, ENDERECO, NOME) VALUES ('2365412394','2007','RUA JACA','MARIA MARTA') TABELA – CLIENTES ID NOME ENDERECO CPF 1003 JOAO AFONSO RUA 200 02153565584 1004 MARIA JOSEFINA RUA DOS AFLITOS 69535412584 2005 JOSE BARBOSA AV. DEPENDENCIA 96524136984 2006 JOSE JUNIOR PRAÇA DA VIDA 52147844174 2007 MARIA MARTA RUA JACA 2365412394 Todos direitos reservados a 3Way Networks
  23. 23. Comando UPDATE • Comando utilizado quando se quer alterar dados em uma tabela • Quaisquer atualizações devem ser conforme as regras de integridade no banco de dados • Sintaxe: UPDATE tabela SET coluna(s) UPDATE tabela SET coluna(s) WHERE condição Todos direitos reservados a 3Way Networks
  24. 24. Data a tabela produtos: Comando UPDATE PRODUTOS ID PRODUTO PRECO 56 PASTA DENTAL 2,55 1242 DESODORANTE 8,78 2556 MOUSE 12,35 65995 COTONETE 1,65 UPDATE produtos SET PRECO = PRECO * 1.1 Atualizá-la aumentando os valores dos produtos em 10%. PRODUTOS ID PRODUTO PRECO 56 PASTA DENTAL 2,81 1242 DESODORANTE 9,66 2556 MOUSE 13,58 65995 COTONETE 1,82 Todos direitos reservados a 3Way Networks
  25. 25. Comando UPDATE UPDATE clientes SET CPF = '32365412394' WHERE ID = '2007' TABELA – CLIENTES ID NOME ENDERECO CPF 1003 JOAO AFONSO RUA 200 02153565584 1004 MARIA JOSEFINA RUA DOS AFLITOS 69535412584 2005 JOSE BARBOSA AV. DEPENDENCIA 96524136984 2006 JOSE JUNIOR PRAÇA DA VIDA 52147844174 2007 MARIA MARTA RUA JACA 2365412394 TABELA – CLIENTES ID NOME ENDERECO CPF 1003 JOAO AFONSO RUA 200 02153565584 1004 MARIA JOSEFINA RUA DOS AFLITOS 69535412584 2005 JOSE BARBOSA AV. DEPENDENCIA 96524136984 2006 JOSE JUNIOR PRAÇA DA VIDA 52147844174 2007 MARIA MARTA RUA JACA 32365412394 Todos direitos reservados a 3Way Networks
  26. 26. Comando DELETE • Se nenhuma condição for dada, o comando elimina todos os registros na tabela especificada. • Sintaxe: DELETE FROM tabela WHERE condição(ões) Todos direitos reservados a 3Way Networks
  27. 27. DELETE FROM clientes WHERE ID = '2006' OR ID = '2007' Comando DELETE TABELA – CLIENTES ID NOME ENDERECO CPF 1003 JOAO AFONSO RUA 200 02153565584 1004 MARIA JOSEFINA RUA DOS AFLITOS 69535412584 2005 JOSE BARBOSA AV. DEPENDENCIA 96524136984 2006 JOSE JUNIOR PRAÇA DA VIDA 52147844174 2007 MARIA MARTA RUA JACA 32365412394 TABELA – CLIENTES ID NOME ENDERECO CPF 1003 JOAO AFONSO RUA 200 02153565584 1004 MARIA JOSEFINA RUA DOS AFLITOS 69535412584 2005 JOSE BARBOSA AV. DEPENDENCIA 96524136984 Todos direitos reservados a 3Way Networks
  28. 28. JDBC – Java DataBase Connectivity • Biblioteca padrão que fornece acesso a bancos de dados por meio de Java • Desenvolvedores podem acessar bancos de dados não importando quem é o distribuidor – Distribuidores fornecem a implementação para interfaces abstratas definidas na API – Fornece o mesmo conjunto de funcionalidades para o desenvolvedor Todos direitos reservados a 3Way Networks
  29. 29. • java.sql.Connection: Representa uma conexão com um banco de dados • java.sql.DriverManager: Gerencia drivers JDBC usados pela aplicação • java.sql.Statement: Fornece métodos para o desenvolvedor executar instruções SQL • java.sql.ResultSet: Representa o resultado de uma instrução SQL de Pesquisa JDBC – Java DataBase Connectivity Todos direitos reservados a 3Way Networks
  30. 30. java.sql.DriverManager • Permite que um desenvolvedor recupere um objeto Connection que pode ser usado para executar instruções em bancos de dados. • O Driver JDBC deve estar registrado com o DriverManager • Usar o método getConnection em DriverManager para criar uma conexão com o banco. DriverManager.getConnection(UrlBD, UsuBD, PassBD); Todos direitos reservados a 3Way Networks
  31. 31. Executando uma Conexão Todos direitos reservados a 3Way Networks
  32. 32. java.sql.Connection / java.sql.Statement • Objetos da classe java.sql.Connection representam conexões criada para o banco de dados. • Uma vez de posse deste objeto, criamos um objeto da classe Statement, que usamos para executar consultas SQL. – ExecuteQuery: para execução de comandos SELECT, retornando o resultado de operações como um objeto ResultSet. – ExecuteUpdate: para execução de comandos INSERT, UPDATE ou DELETE, retornando um int com o número de colunas afetadas com a execução do comando. Todos direitos reservados a 3Way Networks
  33. 33. java.sql.ResultSet • Contém o resultado de uma consulta no banco de dados. • Um objeto ResultSet pode ser visualizado como uma tabela. • A informação é recuperada uma coluna por vez. • O objeto ResultSet mantém a coluna corrente. • Para percorrer as linhas da tabela em ResultSet, usamos o método next(). Todos direitos reservados a 3Way Networks
  34. 34. Executando uma Consulta Todos direitos reservados a 3Way Networks
  35. 35. Executando uma Consulta Todos direitos reservados a 3Way Networks
  36. 36. Executando uma Consulta Resultado da consulta seria: JOAO AFONSO :: 02153565584 MARIA JOSEFINA :: 69535412584 JOSE BARBOSA :: 96524136984 Todos direitos reservados a 3Way Networks
  37. 37. Executando uma Inserção Todos direitos reservados a 3Way Networks
  38. 38. Executando uma Inserção ID NOME ENDERECO CPF 1003 JOAO AFONSO RUA 200 02153565584 1004 MARIA JOSEFINA RUA DOS AFLITOS 69535412584 2005 JOSE BARBOSA AV. DEPENDENCIA 96524136984 2008 AFONSO JOSE RUA BELEZA 98555687425 Todos direitos reservados a 3Way Networks
  39. 39. Liberando Recursos do Sistema • Este é um passo muito importante que freqüentemente é negligenciado após ter sido completada uma operação no Banco de Dados. • Deve ser feita explicitamente e é uma responsabilidade do programador. • Sem executar a liberação, os recursos tomados pela operação não podem ser usadas no futuro. • Para aplicações muito grandes, isto rapidamente resulta na perda de conexões disponíveis. Todos direitos reservados a 3Way Networks
  40. 40. • Executada quando chamado o método close() disponível em cada objeto das classes Connection, Statement, e ResultSet – Existe uma ordem específica envolvida – O método close está definido para lançar uma SQLException • Erros comuns dos desenvolvedores: colocar simplesmente os métodos dentro do corpo do try do programa • Somente recorrer a condições de bem sucedidas • O código deve ser colocado dentro de uma cláusula finally Liberando Recursos do Sistema Todos direitos reservados a 3Way Networks
  41. 41. FAZER LABORATÓRIO 1 Todos direitos reservados a 3Way Networks

×