14
PROGRAMAÇÃO ORIENTADA A OBJETOS Aula 09a- Acessando os dados através JDBC

PROGRAMAÇÃO ORIENTADA A OBJETOS Aula 09a- Acessando …rogerio/poo/09 - Banco de Dados/Aula_09a.pdf · ACESSANDO OS DADOS ATRAVÉS JDBC – AULA 7 PROGRAMAÇÃO ORIENTADA A OBJETOS

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

PROGRAMAÇÃO ORIENTADA A OBJETOS

Aula 09a- Acessando os dados através JDBC

ACESSANDO OS DADOS ATRAVÉS JDBC – AULA 7

PROGRAMAÇÃO ORIENTADA A OBJETOS

Conteúdo Programático desta aula

• Compreender os comando existentes para

acesso e manipulação de dados nos Bancos

de dados

• Apresentar os dados obtidos no banco de

dados nos componentes da tela

• Efetuar comandos de modificação no

banco de dados com informações retiradas

dos componentes da interface

ACESSANDO OS DADOS ATRAVÉS JDBC – AULA 7

PROGRAMAÇÃO ORIENTADA A OBJETOS

Manipulando os dados através do JDBC

O JDBC utiliza o SQL para manipular dos

dados armazenados no SGBD. Cada JDBC

fornecido pelo fabricante deverá

implementar os mecanismos de execução

e de conversão de dados para que seja

possível acessar os dados. Através de uma

conexão estabelecida com o banco de

dados, utilizamos a Interface Statement

para enviar os comandos SQL ao Banco.

ACESSANDO OS DADOS ATRAVÉS JDBC – AULA 7

PROGRAMAÇÃO ORIENTADA A OBJETOS

As classes de Manipulação

O JDBC disponibiliza 3 tipos de tratamento para comandos SQL:

•Statement

•Envia o texto SQL para o SGBD. Possui duas subinterfaces:

•PreparedStatement

•Monta o SQL com parâmetros para depois enviar para o SGBD

•CallableStatement

•Similar ao Prepared Statement, mas permite executar

procedimentos SQL

ACESSANDO OS DADOS ATRAVÉS JDBC – AULA 7

PROGRAMAÇÃO ORIENTADA A OBJETOS

Interface Statement

Objeto usado para executar um comando SQL estático e retornar o

resultado produzido. Suas características são:

•É criado a partir do método createStatement() da classe Connection.

•Só se pode criar um Statement após ter estabelecido uma conexão com

o objeto Connection

•Pode enviar quantos SQL’s quantos forem necessários através do

mesmo Statement.

•A partir de uma conexão, pode-se criar quantos objetos Statements

forem necessários.

•Por padrão, cada Statement pode gerar apenas um objeto ResultSet

por vez. Não há possibilidade manter mais de um ResultSet’s aberto

para o mesmo Statement. Para se trabalhar com mais de um ResultSet

simultaneamente, é preciso ter mais de um objeto Statement.

ACESSANDO OS DADOS ATRAVÉS JDBC – AULA 7

PROGRAMAÇÃO ORIENTADA A OBJETOS

Os Principais métodos

Método Descrição

ResultSet executeQuery (String

SQL)

Executa o comando SQL, que retorna um objeto

ResultSet

int executeUpdate (String SQL) Executa o camando SQL, que deverá ser um

INSERT, UPDATE ou DELETE ou ainda um comando

SQL que nada retorna, como SQL do tipo DDL

Boolean execute(String SQL) Executa o comando SQL, que pode retornar vários

resultados

Connection getConnection() Devolve o objeto Connection que produziu este

objeto Statement

ResultSet getResultSet() Retorna o objeto ResultSet corrente

int getMaxRows() Retorna o número máximo de linhas produzido

dentro deste ResultSet para este Statement

ACESSANDO OS DADOS ATRAVÉS JDBC – AULA 7

PROGRAMAÇÃO ORIENTADA A OBJETOS

Interface ResultSet

Uma tabela de dados que representa o resultado de uma consulta em

uma base de dados. Geralmente gerada através de uma consulta

enviada pelo objeto Statement.

O objeto ResultSet mantém um cursor apontando para a linha

corrente de dados. Inicialmente, este cursor aponta para a linha

anterior a primeira. O método next movimenta o cursor sempre para

a próxima linha. Retornando false quando não existir tal informação.

Este método é comumente usado em um laço while para varrer todo

o conjunto de dados.

ACESSANDO OS DADOS ATRAVÉS JDBC – AULA 7

PROGRAMAÇÃO ORIENTADA A OBJETOS

Interface PreparedStatement

É um objeto que representa um comando SQL pré-compilado.

Utilizado para executar um comando repetidas vezes. Tais comandos

podem conter parâmetros a serem definidos em tempo de execução.

O PreperadStatement é um sub-tipo do Statement. É gerado com o

método prepareStatement() da Connection.

Em um comando SQL de um objeto PreparedStatement pode possuir

parâmetros. Estes parâmetros são identificados como pontos de

interrogação. Estes pontos deverão ser definidos com os comandos

setXXX, informando nos parâmetros, o número do ponto e seu valor.

ACESSANDO OS DADOS ATRAVÉS JDBC – AULA 7

PROGRAMAÇÃO ORIENTADA A OBJETOS

Interface CallableStatement

Quando precisamos executar stored procedures (Comandos SQL

armazenados em forma de procedimentos), utilizamos a Interface

CallableStatement. Ela é um sub-tipo de PreparedStatement que,

além de permitir a passagem de parâmetros, também permite o

retorno de valores.

É válido lembrar que esta interface só estará disponível nos bancos

que disponibilizam este tipo de procedimento.

Como é permitido passar parâmetros tanto para entrada IN como

para saída OUT, esta Interface funciona exatamente igual para os

parâmetros IN e numera os parâmetros de saída que deverão ser

definidos.

ACESSANDO OS DADOS ATRAVÉS JDBC – AULA 7

PROGRAMAÇÃO ORIENTADA A OBJETOS

Exercício

Fornece um conjunto de API’s de acesso Com o exercício feito na

aula 6, vamos fazer um CRUD completo para a tabela Cliente no

banco de dados dbCliente criado no PostgreSQL.

A Interface a ser desenvolvida deverá seguir o padrão apresentado

abaixo:

CRUD – Acrônimo para Create,

Read, Update e Delete, que são as

4 operações básicas utilizadas em

um banco de dados relacional.

ACESSANDO OS DADOS ATRAVÉS JDBC – AULA 7

PROGRAMAÇÃO ORIENTADA A OBJETOS

Consulta

Ao clicar no botão incluir, será feita uma pesquisa no banco para

buscar todos os clientes da loja. Com o conjunto de dados retornado,

são criados objetos Cliente e estes adicionados em uma lista. Vamos

utilizar o ListIterator para andarmos na lista tanto para frente

quando para trás.

Observe que será apresentado o

primeiro cliente e os botões

estarão habilitados.

ACESSANDO OS DADOS ATRAVÉS JDBC – AULA 7

PROGRAMAÇÃO ORIENTADA A OBJETOS

Inclusão

Ao clicar no botão Incluir, foi criado uma estrutura de inclusão de

dados, onde limpamos os campos e habilitamos o botão Incluir.

Quando clicamos no botão Incluir, o objeto Cliente é criado e

incluído no banco de dados.

O botão de Inclusão serve tanto para incluir quanto para alterar.

Para isso, foi colocado um comando if para determinar que parte do

código deverá ser executado.

ACESSANDO OS DADOS ATRAVÉS JDBC – AULA 7

PROGRAMAÇÃO ORIENTADA A OBJETOS

Alterar

No Botão Alterar, foi implementado a opção do usuário cancelar a

alteração. Abaixo está apresentado o método.

ACESSANDO OS DADOS ATRAVÉS JDBC – AULA 7

PROGRAMAÇÃO ORIENTADA A OBJETOS

FIM