Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
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.