Buscar

Aula 04 e 05 -Persistência de dados e padrão DAO

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Persistência de dados e padrão DAO
Padrões de Projeto Orientado a Objetos
Profa. Danielle Martin
Universidade de Mogi das Cruzes
Persistência de dados
Persistência de dados é o armazenamento não-volátil de dados de uma aplicação, por exemplo, em um banco de dados relacional.
As variáveis e objetos armazenados na memória em tempo de execução são desalocados após a aplicação ser encerrada. Para guardar essas informacoes para uso posterior, deve-se persistir os dados.
Aplicação
objetos
Banco de dados
A maneira mais tradicional de uma aplicação persistir seus dados em um banco de dados relacional é criando código que irá executar instruções SQL no banco de dados.
Ex:
Persistência em bancos de dados relacionais
Persistência em bancos de dados relacionais
Para realizar essa tarefa, o código irá precisar acessar alguns componentes. São eles:
Driver de conexão JDBC
É um jar com classes que irão acessar a um banco de dados (SGBD) específico. Cada fabricante de SGBD (MySql, PostgreSQL, DB2, Oracle, SQLServer) cria e disponibiliza seus próprios drivers de conexão.
Objeto Connection com a conexão do banco
Antes de fazer qualquer operação no BD, precisamos criar um objeto Connection que irá abrir a conexão do nosso código com o banco de dados.
Objeto Statement ou PreparedStatement para criar comandos SQL
Cada instrução SQL que será executada deve ser criada como um objeto Statement ou PreparedStatement.
1. Inserindo o Driver no projeto
2. Abrindo a conexão
Classe do Driver
IP do servidor do banco
Porta
Nome do banco de dados
Usuario
Senha
3. Executando um comando SQL
INSERT
Valores a serem populados dinamicamente
Substituindo o primeiro valor “?” pelo login do usuario
Substituindo o segundo valor “?” pela senha do usuario
3. Executando um comando SQL
UPDATE
DELETE
3. Executando um comando SQL
SELECT
Preenche a instrução com valor dinâmico
Recupera os valores retornados usando os nomes das colunas
4. Fechando a conexão
Recomendado fechar a conexao sempre apos o uso
Exemplo:
Exercicio
Crie um banco de dados PostgreSQL com a tabela produtos modelada abaixo.
Implemente uma aplicacao para persistir dados de objetos Produto conforme o exemplo do slide anterior.
Implemente tambem os metodos atualizar e excluir.
 
Classe de Conexao
Problema
No exemplo observado anteriormente, se precisarmos alterar a senha de acesso o banco de dados, quantas linhas de código serão impactadas?
E se o SGBD for migrado para outro servidor com endereço diferente?
Resposta:
Cada método de acesso ao banco de dados será atualizado uma vez.
Solução
Podemos encapsular a abertura de conexão em uma classe com esse único propósito.
Se houver alteração nos dados de conexão, apenas essa classe será atualizada uma única vez.
Classe de Conexão
Classe de Conexão
 
Padrão Data Access Object (DAO)
Problema
Na classe Produto modelada abaixo, os métodos cadastrar() e consultarTodos() contém instruções SQL misturadas com atributos e regras de negócio.
Se houver uma manutenção no banco de dados, alteração do SGBD, mudança na modelagem de dados, todas as classes de negócio serão impactadas.
Solução
O padrão Data Access Object (DAO) prevê a separação da responsabilidade de persistência ao Banco de Dados em uma camada exclusiva da aplicação.
Os métodos de acesso ao banco de dados são encapsulados em uma classe DAO.
Ex:
Classe ProdutoDAO
Aplicação

Outros materiais