Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

PROGRAMAÇÃO ORIENTADA A OBJETOS
Oswaldo Borges Peres
Aula 6 - Introdução ao JDBC
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.
2
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 
3
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 
4
Arquitetura JDBC
5
Aplicação Java
Gerenciador de Drivers JDBC
Ponte JDBC - ODBC 
Driver ODBC
SGBD
SGBD
Driver JDBC
A Responsabilidade do JDBC
Estabelecer conexão com o SGBD
Enviar comandos SQL
Receber os resultados
Processar os resultados
6
A Responsabilidade do JDBC
Carregar os drivers JDBC 
Obter uma conexão
Criar os comandos SQL
Enviar comandos SQL
Receber os resultados
Processar os resultados
7
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.
8
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
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.
9
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)
10
Interface JDBC
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)
 
11
Conectando em um Banco
12
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); 
13
O código acima precisa estar circundado por um try and catch, ou ter um throws no método. 
Abrindo uma Conexão
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);
 
14
O código acima precisa estar circundado por um try and catch, ou ter um throws no método. 
Passo a passo
15
Não esqueça de instalar o JDBC na pasta Bibliotecas
Bibliografia
Java: como programar - 8ª edição
Deitel, Paul J.; Deitel, Harvey M.
16

Mais conteúdos dessa disciplina