Persistência de dados e padrão DAO

Slides:



Advertisements
Apresentações semelhantes
Criando aplicações WEB
Advertisements

FABAN- UNIESP 2009 Prof. Carlos Alberto Seixas
Ana Paula B. Barboza Ivana Xavier Rodrigues
Banco de Dados I Aula 20.
Prof. Alessandro J. de Souza
Java Conexão com Banco de Dados
Banco de Dados SQL TRIGGERS (Gatilhos)
APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS ACESSO A BANCO DE DADOS COM O JDBC Prof. Thiago Pereira Rique
28.5 Instruções para instalar o MySQL e o MySQL Conector/J
Linguagens de Programação Orientadas a Objetos
Banco de Dados Oracle AESO.
Material III-Bimestre Wagner Santos C. de Jesus
Introdução a JDBC Eduardo Martins Guerra Instituto Tecnológico de Aeronáutica Curso de Pós-Graduação em Engenharia de Software Programação Distribuída.
B ANCO DE D ADOS E JDBC Profa. Msc. Cintia Carvalho Oliveira Mestre em Ciência da Computação – UFU Bacharel em Ciência da Computação - UFJF 1.
CURSO DE ESPECIALIZAÇÃO PARTE 4: PADRÕES FACTORY E DAO
Java & Bancos de Dados Universidade Salgado de Oliveira Goiânia
Java :: Persistência de Dados
Acesso a Base de Dados JDBC Trabalho Realizado por:
Tecnologias Web ADO.NET
Aula R Prof. Naércio Filho Técnico em Informática
Aula 7 Prof. Naércio Filho Técnico em Informática
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Integração com Banco de Dados
Programação Orientada a objetos II
Anexo A. JDBC  Conjunto de interfaces e classes java que faz envio de consultas para um banco de dados.  Objetos(tipos)  Conexão (Driver e Connection)
JSP / Servlets Avançado
UNIVERSIDADE CATÓLICA DE BRASÍLIA 2011 PAULO LIMA aluno FERNANDO GOULART orientador.
P ROGRAMAÇÃO Prof.: Bruno Rafael de Oliveira Rodrigues.
Programação Orientada à Objetos
Prof. Rodrigo de Matos Vargas
A Linguagem SQL Por Hélio de Almeida Fonte: Wikipédia.
JDBC Java Database Connectivity. JDBC Especificação para uso de base de dados em aplicações e applets JAVA; API para uso de drivers JDBC; Compatível com.
FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Flávio Dantas.
Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.
Arquitetura de Desenvolvimento Web MVC vs. Three Tiers
Configuração do Ambiente de programação
A Linguagem PHP Instituto Vianna Júnior Desenvolvimento para Web Prof. Lúcia Helena de Magalhães 2008.
Implementação Orientada a Objetos – Aula 03
Programação para Web Unidade 06 – Java Beans e BDs Prof.: Henrique Santos.
Unidade 1 – Introdução a J2EE Prof.: Henrique Santos
Aplicativos Web Orientação a Objetos
CURSO JAVA BÁSICO Módulo JDBC – slide 1 MóduloJDBC.
Java Conexão com Baco de dados Saulo Bazzi Oberderfer Fonte:
Linguagem SQL Prof. Juliano.
Controle de Concorrência
LINQ e Entity Framework
Conceitos básicos Professor Esp. Diego André Sant’Ana
Faculdade de Tecnologia SENAI Porto Alegre Aula 1 Prof. Me. Humberto Moura
UCSal – Bacharelado em Informática
Leo Silva Leonardo Murta Luiz Viana Persistência em Java.
Java Acesso a Banco de Dados Prof. Marcos André Pisching, M.Sc.
Acesso a Banco de Dados com JDBC e DAO
Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados
Acessando banco de dados com JAVA.  Linguagem independente de plataforma; ◦ “Write once, run anywhere” ◦ JVM  Java Virtual Machine  Mecanismo que permite.
Bancos de Dados Sistema de Banco de dados – sistema de manutenção de registros por computador. É considerado como uma sala.
Programação para Web I AULA 2 BANCO DE DADOS.
Implementação Orientada a Objetos – Aula 03 Atributos e Encapsulamento Prof. Danielle Martin/ Marcia Bissaco Universidade de Mogi das Cruzes
PSW1 Prof. Rafael. Persistência Atividade que permite que o estado de um objeto exista mesmo após a extinção do processo computacional que o criou. Em.
Prof. Renato de Oliveira Bastos
Acesso a Banco de Dados com o JDBC Prof. M.Sc. Ronnison Reges Vidal.
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para:
SisMoura: Multi-Loja Manual de Implantação. Apresentação A seguir mostraremos os passos necessários para que os bancos de dados das lojas estejam aptos.
Trabalho Prático de Programação Orientada a Objetos em Java Programação Orientada a Objetos Ludimila Monjardim Casagrande 2011.
ALUNO: RONI FABIO BANASZEWSKI Model-View-Controller.
Gestão da Tecnologia da Informação Fundamentos de Sistemas de Banco de Dados Faculdade de Tecnologia Senac Jaraguá do Sul.
Prof.: Jean Carlo Mendes
Persistência de dados e padrão DAO Padrões de Projeto Orientado a Objetos Profa. Danielle Martin/Mauricio Universidade de Mogi das Cruzes.
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
Persistência de dados e padrão DAO
Acesso a Banco de dados com JDBC
Transcrição da apresentação:

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

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:

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.

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

Recomendado fechar a conexao sempre apos o uso 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