19
PROGRAMAÇÃO ORIENTADA A OBJETOS Aula 9- Introdução ao JDBC

PROGRAMAÇÃO ORIENTADA A OBJETOS Aula 9 ... - …rogerio/poo/09 - Banco de Dados/Aula_09.pdf · PROGRAMAÇÃO ORIENTADA A OBJETOS Aula 9- Introdução ao JDBC . ... •É independente

Embed Size (px)

Citation preview

PROGRAMAÇÃO ORIENTADA A OBJETOS

Aula 9- Introdução ao JDBC

INTRODUÇÃO AO JDBC – AULA6

PROGRAMAÇÃO ORIENTADA A OBJETOS

Conteúdo Programático desta aula

• Compreender o funcionamento das

ferramentas de mapeamento de acesso aos

bancos de dados

• Utilizar componentes para acesso a dados

em banco de dados.

INTRODUÇÃO AO JDBC – AULA6

PROGRAMAÇÃO ORIENTADA A OBJETOS

JDBC

Java Database Connectivity define um

conjunto de classes e interfaces para

escrever programas ou sistemas em Java que

utilizem Banco de Dados. Estas classes e

interfaces efetuam as conexões entre a

aplicação e o Sistema Gerenciador de Banco

de Dados (SGBD).

Ao utilizar o JDBC, podemos enviar comandos

SQL ou PL/SQL para quase todos os bancos de

dados relacionais.

INTRODUÇÃO AO JDBC – AULA6

PROGRAMAÇÃO ORIENTADA A OBJETOS

A História do JDBC

Ano Versão JSR JDK

2006 JDBC 4.0 JSR 221 Java SE 6

2001 JDBC 3.0 JSR 54 JDK 1.4

1999 JDBC 2.1 JDK 1.2

1997 JDBC 1.2 JDK 1.1

1996 JDBC 1.0

INTRODUÇÃO AO JDBC – AULA6

PROGRAMAÇÃO ORIENTADA A OBJETOS

Principais Características

•Disponibiliza ao programador de aplicações Java abrir conexões em um

SGBD, consultando ou modificando algum dado de um determinado BD,

utilizando comandos SQL.

•Implementa o isolamento entre a aplicação e os dados, baseado na

abordagem da Microsoft para a sua API ODBC.

•Características:

•Portabilidade

•API independente do Banco de Dados utilizado

•Permite o desenvolvimento de aplicações independente do banco de

dados escolhido

•Implementa a Estrutura em Camadas

INTRODUÇÃO AO JDBC – AULA6

PROGRAMAÇÃO ORIENTADA A OBJETOS

Estrutura de Acesso ao Banco de Dados através do JDBC

•Fornece um conjunto de API’s de acesso

para executar comandos SQL

•É implementado no pacote padrão

java.sql, que é fornecido no SDK

•Funciona para qualquer tipo de Banco de

Dados relacional que seu fabricante

disponibilizou o Driver específico

•Esta interface foi baseada no X/OPEN SQL

/ CLI

•É independente de API ou da Linguagem

proprietária dos fabricantes de SGBD

INTRODUÇÃO AO JDBC – AULA6

PROGRAMAÇÃO ORIENTADA A OBJETOS

Arquitetura JDBC

INTRODUÇÃO AO JDBC – AULA6

PROGRAMAÇÃO ORIENTADA A OBJETOS

A Responsabilidade do JDBC

•Estabelecer conexão com o SGBD

•Enviar comandos SQL

•Receber os resultados

•Processar os resultados

INTRODUÇÃO AO JDBC – AULA6

PROGRAMAÇÃO ORIENTADA A OBJETOS

Como o JDBC Funciona

•Carregar os drivers

JDBC

•Obter uma conexão

•Criar os comandos SQL

•Enviar comandos SQL

•Receber os resultados

•Processar os

resultados

INTRODUÇÃO AO JDBC – AULA6

PROGRAMAÇÃO ORIENTADA A OBJETOS

A Classe Driver

Para efetuar conexão à um SGBD, é necessário carregar o driver

compatível. Estas classes não estão incluídas e precisam ser obtidas com

o fabricante do banco de dados.

Registrando um Driver

É utilizado o método estático:

Class.forName(<nome_da_classe_driver>);

O nome da classe driver consta na documentação do mesmo.

SGBD DRIVER

JDBC-ODBC: sun.jdbc.odbc.JdbcOdbcDriver

mySQL: com.mysql.jdbc.Driver

PostGresql: org.postgresql.Driver

Oracle: oracle.jdbc.driver.OracleDriver

SqlServer: com.jnetdirect.jsql.JSQLDriver

DB2: com.ibm.db2.jdbc.app.DB2Driver

INTRODUÇÃO AO JDBC – AULA6

PROGRAMAÇÃO ORIENTADA A OBJETOS

Interface JDBC

•O JDBC pode ser visto como um conjunto de interfaces cuja

implementação deve ser fornecida por fabricantes de SGBD.

•Cada fabricante deve fornecer implementações de:

•java.sql.Connection

•java.sql.Statement

•java.sql.PreparedStatement

•java.sql.CallableStatement

•java.sql.ResultSet

•java.sql.Driver

•O objetivo é que fique transparente para o programador qual a

implementação JDBC está sendo utilizada.

INTRODUÇÃO AO JDBC – AULA6

PROGRAMAÇÃO ORIENTADA A OBJETOS

Interface JDBC java.sql.DriverManager

Provê serviços básicos para gerenciar diversos drivers JDBC

java.sql.Connection

Representa uma conexão estabelecida com o BD.

java.sql.Statement

Representa sentenças onde são inseridos os comandos SQL

Permite realizar todo o tratamento das consultas (select) e dos

comandos de atualizações (insert, delete, update)

java.sql.ResultSet

Representa o conjunto de registros resultante de uma consulta.

Permite manipular os resultados

Permite realizar coerção (cast) entre tipos Java e SQL

Exemplo: tipo no banco DateTime, tipo de retorno String

Colunas de um objeto ResultSet podem ser referenciadas por um

número posicional ou pelo nome da coluna do resultado.

ResultSet rs.getString("Endereco") ou

ResultSet rs.getString(3)

INTRODUÇÃO AO JDBC – AULA6

PROGRAMAÇÃO ORIENTADA A OBJETOS

A Instalação JDBC

INTRODUÇÃO AO JDBC – AULA6

PROGRAMAÇÃO ORIENTADA A OBJETOS

Conectando em um Banco

INTRODUÇÃO AO JDBC – AULA6

PROGRAMAÇÃO ORIENTADA A OBJETOS

Abrindo uma Conexão

Ponte ODBC-JDBC:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn = DriverManager.getConnection( "jdbc:odbc:db_teste","testeusu","senha");

No MySql:

Class.forName("org.gjt.mm.mysql.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/db_teste“,usuario,senha);

No PostgreSQL

Class.forName("org.postgresql.Driver"); Connection conn = DriverManager.getConnection( "jdbc:postgresql:db_teste“,usuario,senha);

No Oracle

Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection( "jdbc:oracle:thin:@127.0.0.1:1521:db_teste", usuario,senha);

O código acima precisa estar circundado por um try and catch,

ou ter um throws no método.

INTRODUÇÃO AO JDBC – AULA6

PROGRAMAÇÃO ORIENTADA A OBJETOS

Criando um Banco de Dados e Realizando uma Conexão

Fazer download de um SGBC. Sugiro o SGBD PostgreSQL.

Entre na página do programa

Clique em download

Com o download feito, faça o download do JDBC para o SGBD. Escolha o jdbc4

Instale o PostgreSQL.

Na instalação, ele pedirá uma senha para o super-usuário. Coloque

postgres, de preferência.

Execute o SGBD através do pgAdminIII

O servidor do banco de dados já deverá estar executando, na porta 5432.

Vamos utilizar o administrador para criar o banco de dados.

INTRODUÇÃO AO JDBC – AULA6

PROGRAMAÇÃO ORIENTADA A OBJETOS

Criando o primeiro programa conectando no banco

Não esqueça de instalar o JDBC na pasta Bibliotecas

INTRODUÇÃO AO JDBC – AULA6

PROGRAMAÇÃO ORIENTADA A OBJETOS

Executando o programa!

Não esqueça de instalar o JDBC na pasta Bibliotecas

INTRODUÇÃO AO JDBC – AULA6

PROGRAMAÇÃO ORIENTADA A OBJETOS

FIM