Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introduo
Uma das caractersticas mais importantes de
uma aplicao WEB est no fato de podermos
salvar as informaes em algum lugar para que
as
informaes
sejam
recuperadas
futuramente.
Uma aplicao, por exemplo, est salva em
algum banco de dados e quando voc acessa
pelo seu navegador, uma aplicao WEB ir
recuperar as informaes de algum banco de
dados e criar uma pgina para voc.
Introduo
Persistncia de Objetos
Diagrama
MODELO
ORIENTADO
A OBJETOS
PERSITNCIA
LGICA
PERSITNCIA
FSICA
JDBC
O que JDBC
Pode-se dizer que uma API que rene
conjuntos de classes e interfaces escritas na
linguagem Java na qual possibilita se conectar
atravs de um driver especfico do banco de
dados desejado. Com esse driver pode-se
executar instrues SQL de qualquer tipo de
banco de dados relacional.
Para fazer a comunicao entre a aplicao e o
SGBDs necessrio possuir um driver para a
conexo desejada. Geralmente, as empresas de
SGBDs oferecem o driver de conexo que
JDBC
O que um Driver
Alm de atuar como uma interface entre os
SGBDs e as aplicaes, tambm pode ser
considerado como um tradutor que ajuda na
definio das mensagens binrias trocadas com
um protocolo de um SGBD.
interface Connection
Representa uma conexo ao banco de dados. Nessa interface
so apresentados os mtodos mais utilizados.
Mtodo close
Geralmente inserido dentro do bloco finally para realizar
sempre a sua execuo, pois esse mtodo serve para fechar e
liberar imediatamente um objeto Connection.
Mtodo isClosed
Serve para verificar se o objeto Connection est fechado.
Mtodo createStatement
usado para criar um objetoStatementque executa
instrues SQL ao banco de dados.
Mtodo prepareStatement
usado para criar um objeto que representa a instruo SQL
que ser executada, sendo que invocado atravs do objeto
Connetion.
setAutoCommit
Esse mtodo aceita como parmetro um valor booleano (true ou
false), no qual consegue definir se todas as instrues
executadas sero gravadas (comitadas). Por padro, quando
finalizada uma instruo de INSERT, UPDATE ou DELETE a
operao de gravao (commit) executada automaticamente
sem a necessidade de invocar o mtodo setAutoCommit. Agora,
para instrues de SELECT, a gravao dos dados ocorre quando
o conjunto de dados associados fechado, ou seja, quando
invocado o mtodo close.
rollback
Usado para retornar uma transao, sendo muito usado dentro
de blocos catch em caso de alguma operao gerar erro.
A interface Statement
Nesta interface so listados os mtodos executeQuery e
executeUpdate que so considerados os mais importantes
referente a execuo de uma query.
executeQuery- Executa uma instruoSQLque retorna um
nico objeto ResultSet.
Pacote Java.sql
Logo...
CONFIGURANDO JDBC
https://evandrocgoncalves.wordpress.com/201
3/04/01/jdbc-configurando-banco-de-dadosno-netbeans/
Exerccios - I
DISCIPLINA
CURSO
ID
DESCRIO
Devemos desenvolver :
a)
b)
c)
d)
e)
https://evandrocgoncalves.wordpress.com/2013/04/01/jdbcconfigurando-banco-de-dados-no-netbeans/
Correo - Exerccios - I
Use curso;
//Omtodonext()informasehouveresultadoseposicionaocursordo
banco
//naprximalinhadisponvelpararecuperao
//Comoesperamosvriaslinhasutilizamosumlaopararecuperaros
dados
while(rs.next())
{
//OsmtodosgetXXXrecuperamosdadosdeacordocomotipoSQL
dodado:
Stringtit=rs.getString("titulo");
Stringaut=rs.getString("autor");
inttotalFaixas=rs.getInt("total_faixas");
//Asvariveistit,autetotalFaixascontmosvaloresretornados
//pelaquery.Vamosimprim-los
System.out.println("Titulo:"+tit+"Autor:"+aut+"Tot.Faixas:"+total
DB
INTO
INTO
INTO
INTO
aluno
aluno
aluno
aluno
VALUES
VALUES
VALUES
VALUES
(2234,'Patrick','9.5');
(3345,'Jose','7.5');
(4456,'Pilar','10.0');
(5567,'Evita','5.5');
DB
Exerccios II Interfaces
REVISO
DAO Vantagens
A vantagem de usar objetos de acesso a dados a separao
simples e rigorosa entre duas partes importantes de uma
aplicao que no devem e no podem conhecer quase que nada
uma da outra, e que podem evoluir frequentemente e
independentemente. Alterar a lgica de negcio podem esperar
apenas a implementao de uma interface, enquanto que
modificaes na lgica de persistncia no alteram a lgica de
negocio, desde que a interface entre elas no seja modificada.
DAO Vantagens
No contexto especfico da linguagem de programao Java, um
objeto de acesso a dados como padro de projeto de software
pode ser implementado de vrias maneiras.
Pode variar desde uma simples interface que separa partes de
acesso a dados da lgica de negcio de uma aplicao at
frameworks e produtos comerciais especficos.
Os paradigmas para programao usando DAOs demandam
alguma proficincia.
O uso de tecnologias como Java persistence technologies e JDO
garantem a implementao do padro de projeto at certo ponto.
Tecnologias como Enterprise JavaBeans trazem para a aplicao
servidores montados e que podem ser usados em aplicaes que
usem um servidor de aplicao JEE.
UseoPadroDataAccessObjectQuando:
O principal objetivo de um DAO encapsular o acesso e a
manipulao de dados em uma camadaseparada;
Voc deseja implementar os mecanismos de acesso a dados para
acessar e manipular dados em umarmazenamentopersistente;
Voc deseja desacoplar a implementao do armazenamento
persistente do restante da aplicao;
Voc deseja fornecer uma API de acesso uniforme aos dados para
um mecanismo persistente para vrios tipos de fontes de dados,
como repositrios RDBMS, LDAP, OODB, XML,
arquivossimpleseassimpordiante;
Voc deseja organizar os recursos de lgica de acesso a dados e
encapsular recursos
proprietriosparafacilitaracapacidadedemanutenoeaporta
bilidade
AEstruturaDoDataAccessObject(DAO)
OsParticipantesDoDataAccessObject(DAO)
Cliente o cliente um objeto que requer acesso fonte de
dados para obter e armazenar dados.
DAO o DAO o objeto de funo principal desse padro. Ele
abstrai a implementao de acesso a dados subjacente para o
cliente a fim de permitir um acesso transparente a fonte de
dados.
BaseDeDadorepresentaumaimplementaodefontededado
s.
ResultSetrepresentaosresultadosdeumaexecuodeconsult
a.
Usando DAO
Criar uma database com o nome "javafx_crud.
create database javafx_crud;
use javafx_crud;
create table pessoa(
rg varchar(20) not null,
nome varchar(20) not null,
idade int(2) not null,
cidade varchar(20) not null,
estado varchar(2) not null,
primary key(rg)
);
Estrutura
http://javafree.uol.com.br/artigo/874102/Aplicativo-Java-com-acesso-a-banco-de-dados-1%C2%BA-parte-Dao.html
Nada demais neste teste, estamos inserindo uma pessoa, depois buscando para
ver se ela foi inserida mesmo! Em seguida atualizamos o nome e buscamos para
ver se aconteceu a atualizao, por fim apagamos a pessoa e tentamos realizar a
busca para ter certeza que nosso dado foi apagado mesmo!
Ao rodar essa classe voc deve obter o seguinte resultado no console:
ar