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

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

APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS ACESSO A BANCO DE DADOS COM O JDBC Prof. Thiago Pereira Rique

Apresentações semelhantes


Apresentação em tema: "APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS ACESSO A BANCO DE DADOS COM O JDBC Prof. Thiago Pereira Rique"— Transcrição da apresentação:

1 APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS ACESSO A BANCO DE DADOS COM O JDBC Prof. Thiago Pereira Rique

2 A GENDA Introdução A conexão em Java Manipulando bancos de dados com o JDBC PreparedStatements DAO – Data Access Object

3 INTRODUÇÃO Banco de dados Sistema de Gerenciamento de Banco de Dados (SGBD) Linguagem SQL Java Database Connectivity (JDBC) API

4 A CONEXÃO EM JAVA Temos um único conjunto de interfaces muito bem definidas que devem ser implementadas. Esse conjunto de interfaces fica dentro do pacote java.sql e nos referimos a ele como JDBC. Aplicação BD Interface JDBC Implementação JDBC. Qual?

5 A CONEXÃO EM JAVA A interface Connection define métodos para executar uma query, fechar uma conexão, entre outros. Precisamos de classes concretas que implementem essas interfaces do pacote java.sql. Esse conjunto de classes concretas fará a ponte entre o código cliente que usa a API JDBC e o banco de dados. Drivers JDBC.

6 A CONEXÃO EM JAVA Para abrir uma conexão com um banco de dados, precisamos de um driver. A classe DriverManager é responsável por se comunicar com o driver. Aplicação BD Interface JDBC Implementação JDBC PostgreSQL DriverManager.getConnection(jdbc:postgresql://localhost/teste);

7 M ANIPULANDO BANCOS DE DADOS COM O JDBC Criando uma classe de conexão (1) Continua...

8 M ANIPULANDO BANCOS DE DADOS COM O JDBC Criando uma classe de conexão (1)

9 M ANIPULANDO BANCOS DE DADOS COM O JDBC Criando uma classe de conexão (2)

10 M ANIPULANDO BANCOS DE DADOS COM O JDBC Objeto Connection con; Objetos Connection permitem aos programas criar instruções de SQL que acessem bancos de dados; Método static getConnection da classe DriveManager; O método getConnection aceita três argumentos: URL Usuário Senha

11 M ANIPULANDO BANCOS DE DADOS COM O JDBC URL jdbc:postgresql://localhost:5432/alpoo_lpbd_2012_2 Protocolo de comunicação (jdbc) Subprotocolo de comunicação (postgresql) Localização do banco de dados (//localhost:5432/alpoo_lpbd_2012_2) Fábrica de conexões: controlar um processo repetitivo e trabalhoso, como abrir uma conexão com o banco de dados.

12 M ANIPULANDO BANCOS DE DADOS COM O JDBC Consultando um banco de dados Continua...

13 M ANIPULANDO BANCOS DE DADOS COM O JDBC Consultando um banco de dados Continua...

14 M ANIPULANDO BANCOS DE DADOS COM O JDBC Consultando um banco de dados Continua...

15 M ANIPULANDO BANCOS DE DADOS COM O JDBC Consultando um banco de dados Continua...

16 M ANIPULANDO BANCOS DE DADOS COM O JDBC Consultando um banco de dados Continua...

17 M ANIPULANDO BANCOS DE DADOS COM O JDBC Consultando um banco de dados

18 M ANIPULANDO BANCOS DE DADOS COM O JDBC Método Connection prepareStatement. Utilização de um objeto PreparedStatement para enviar instruções de SQL ao banco de dados. Método execute do objeto PreparedStatement para submeter uma consulta.

19 M ANIPULANDO BANCOS DE DADOS COM O JDBC Método executeQuery do objeto PreparedStatement retorna um objeto que implementa ResultSet. Um objeto ResultSet contém os dados da consulta. Métodos ResultSet permitem que o programa manipule o resultado da consulta.

20 P REPARED S TATEMENTS A interface PreparedStatements permite criar instruções SQL compiladas. PreparedStatements podem especificar parâmetros, o que os torna mais flexíveis do que Statements. Permitem realizar a mesma consulta repetidamente com diferentes valores de parâmetros.

21 P REPARED S TATEMENTS Exemplo: Os pontos de interrogação são espaços reservados para valores que serão passados como parte da consulta ao banco de dados.

22 P REPARED S TATEMENTS Especificar valores de parâmetro utilizando métodos set da interface PreparedStatement. Primeiro argumento: número do parâmetro configurado. Segundo argumento: valor do parâmetro.

23 P REPARED S TATEMENTS Má prática: Statement Um Statement simplesmente executa uma cláusula SQL no método execute. Um PreparedStatement é mais rápido e deixa seu código muito mais limpo.

24 DAO – D ATA A CCESS O BJECT Padrões de Projeto ( Design Patterns ) Alguns problemas aparecem com tanta frequência que as pessoas desenvolvem uma solução padrão para eles. Essa solução padrão tem o nome de Design Pattern (Padrão de Projeto). A nossa ConnectionFactory implementa o design pattern Factory que prega o encapsulamento da construção (fabricação) de objetos complexos.

25 DAO – D ATA A CCESS O BJECT Colocar código SQL nas classes de lógica da aplicação Deselegante Inviável para manter o código A ideia é remover o código de acesso ao banco de dados de suas classes de lógica e colocá-lo em uma classe responsável pelo acesso aos dados.

26 DAO – D ATA A CCESS O BJECT Considere a seguinte classe de conexão:

27 DAO – D ATA A CCESS O BJECT Considere a classe Contato a seguir:

28 DAO – D ATA A CCESS O BJECT Classe ContatoDAO: Continua...

29 DAO – D ATA A CCESS O BJECT Classe ContatoDAO:

30 DAO – D ATA A CCESS O BJECT Classe de teste:

31 DAO – D ATA A CCESS O BJECT Através de uma única classe seremos capazes de acessar o banco de dados. A ideia é isolar todo o acesso a banco em classes bem simples. Objetos dessas classes são responsáveis por acessar os dados (DAO – Data Access Object).

32 REFERÊNCIA DEITEL, H.M; Java Como Programar. Ed. Pearson, 8ª ed, Apostilas Caelum fj-21. Disponível em:


Carregar ppt "APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS ACESSO A BANCO DE DADOS COM O JDBC Prof. Thiago Pereira Rique"

Apresentações semelhantes


Anúncios Google