A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Persistência de dados e padrão DAO

Apresentações semelhantes


Apresentação em tema: "Persistência de dados e padrão DAO"— Transcrição da apresentação:

1 Persistência de dados e padrão DAO
Padrões de Projeto Orientado a Objetos Profa. Danielle Martin Universidade de Mogi das Cruzes

2 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 Banco de dados objetos

3 Persistência em bancos de dados relacionais
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:

4 Persistência em bancos de dados relacionais
Para realizar essa tarefa, o código irá precisar acessar alguns componentes. Sao 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.

5 1. Inserindo o Driver no projeto

6 2. Abrindo a conexão Classe do Driver IP do servidor do banco Porta
Nome do banco de dados Usuario Senha

7 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

8 3. Executando um comando SQL
UPDATE DELETE

9 3. Executando um comando SQL
SELECT Preenche a instrução com valor dinâmico Recupera os valores retornados usando os nomes das colunas

10 Recomendado fechar a conexao sempre apos o uso
4. Fechando a conexão Recomendado fechar a conexao sempre apos o uso

11 Exemplo:

12 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.

13 Classe de Conexao

14 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?

15 Resposta: Cada método de acesso ao banco de dados será atualizado uma vez.

16 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.

17 Classe de Conexão

18 Classe de Conexão

19 Padrão Data Access Object (DAO)

20 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.

21 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:

22 Classe ProdutoDAO

23 Aplicação


Carregar ppt "Persistência de dados e padrão DAO"

Apresentações semelhantes


Anúncios Google