Acesso a Base de Dados - Dei-Isep

Propaganda
Acesso a Base de Dados
JDBC
Trabalho Realizado por:
Diogo Reis, 1010481
INTRODUÇÃO

JDBC (Java DataBase Conectivity) é uma API Java
que fornece classes e interfaces para acesso e
tratamento de dados.

Camada de abstracção que permite a um programa
Java utilizar uma interface padrão para acesso a
uma base de dados relacional através da linguagem
SQL.
INTRODUÇÃO
• A API JDBC cria como padrão:
– O mecanismo de como deve ser feita a ligação à Base de Dados
– Abordagem para criar consulta
– Resultado da consulta
• A API JDBC não cria como padrão:
– Sintaxe SQL
• API localizada no pacote java.sql
INTRODUÇÃO

JDBC consiste em duas partes:
–
API JDBC, puramente escrita em Java.
–
Gestor de Driver JDBC, o qual comunica com os
drivers dos vendedores da BD.
JDBC DRIVERS

São o coração do JDBC. Há quatro tipos de
drivers:
–
–
–
–
TIPO 1 – JDBC-ODBC
TIPO 2 – JDBC – JAVA PARTIAL DRIVER
TIPO 3 – PURE-JAVA JDBC DRIVER
TIPO 4 – PURE-JAVA JDBC DRIVER
TIPOS DE DRIVERS

TIPO 1
–

Utilizado para fazer a ligação (“ponte”) entre o
JDBC e um driver ODBC.
TIPO 2
–
Converte chamadas JDBC em chamadas
internas da API do cliente da base de dados.

TIPO 3
–

A API do JDBC acede a uma aplicação
intermediária (middleware) encarregada de
traduzir chamadas JDBC e enviá-las à base de
dados.
TIPO 4
–
Este driver converte as chamadas JDBC
directamente para o protocolo nativo do SGBD.
ODBC



ODBC (Open Database Connectivity) é uma
API construída em C para aceder a base de
dados.
ODBC não é uma API independente de
plataforma, sendo patrocinado pela
Microsoft.
A API JDBC oferece um driver específico
para o padrão ODBC.
VANTAGENS JDBC



Um programa Java utiliza uma API JDBC
única que é independente da base de dados
ou driver que estiver a utilizar.
Os drivers para conexão e acesso às
principais base de dados existentes são
fornecidos pelos seus fabricantes.
O programador só precisa de saber utilizar o
driver adequado e a API JDBC.
PRINCIPAIS CLASSES E INTERFACES JDBC







DriverManager
Connection
Statement
PreparedStatement
CallableStatement
ResultSet
SQLException
DRIVERMANAGER


Utilizado para estabelecer uma conexão
entre o driver apropriado e a Base de Dados.
Métodos

public static Connection getConnection (String url)
throws SQLException
–
Inicia uma conexão à base de dados e retorna um objecto
Connection.
CONNECTION

Representa uma conexão com uma BD específica
–
–
–
comandos SQL são executados e os resultados são retornados
aspectos das transacções são tratados (commit,etc)
descrição da BD pode ser obtida (metadados)
• Métodos
 public Statement createStatement() throws SQLException
–
- Cria um objeto com uma instrução SQL para execução futura.
CONNECTION

Métodos
–
public void close() throws SQLException
-
–
public void commit() throws SQLException
-
–
Fecha a conexão actual.
Confirma a transacção.
public void rollback() throws SQLException
- Cancela a transacção.
STATEMENT


Utilizado para enviar comandos SQL simples
• Métodos
public ResultSet executeQuery (String sql) throws
SQLException
- Executa a consulta SQL passada em SQL e retorna o
ResultSet com o resultado da consulta.
 public int executeQuery(String sql) throws SQLException
- Executa a instrução INSERT, UPDATE ou DELETE
especificada em SQL.
 public void cancel() throws SQLException
- Cancela uma instrução SQL que esteja a ser executada.

PREPAREDSTATEMENT

Utilizado para enviar comandos SQL que recebam um ou mais parâmetros como entrada

• Métodos

public ResultSet executeQuery (String sql) throws SQLException
- Executa a consulta SQL passada em SQL e retorna o ResultSet com o resultado da
consulta.

public int executeUpdate() throws SQLException
– Usado para efectuar actualizações numa base de dados como a criação de tabelas
(CREATE), alterações (UPDATE) ou exclusão (DELETE) de registros, etc.

public setInt(int indice, int valor) public setBoolean(int indice, boolean valor)
– Usado para configurar os parâmetros dum código SQL.
CALLABLESTATEMENT


Utilizado para chamar stored procedures na
Base de Dados.
• Métodos
–
public CallableStatement prepareCall (String
storedProcedure) throws SQLException
- Executa a stored procedured armazenada na Base de
Dados.
SETE PASSOS BÁSICOS PARA USAR O JDBC
1. Carregar o driver
2. Definir a URL de Conexão
3. Estabelecer a Conexão
4. Criar um objecto Statement
5. Executar a Consulta
6. Processar os Resultados
7. Fechar a Conexão
SETE PASSOS BÁSICOS PARA USAR O JDBC
1. Carregar o driver
try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver "); }
catch(ClassNotFoundException e) {...}

2. Definir a URL de Conexão
String odbcURL = "jdbc:odbc:Java";

3. Estabelecer a conexão
String user= “abc”;
String password = “secret”; Connection
connection=DriverManager.getConnection(odbcURL,user,password);

4. Criar um objecto Statement
Statement statement =connection.createStatement();

5. Executar a Consulta:
String query = “SELECT col1, col2, col3 FROM sometable”;
ResultSet resultSet = statement.executeQuery(query);

SETE PASSOS BÁSICOS PARA USAR O JDBC

6. Processar os Resultados
while(resultSet.next()) {
System.out.println(resultSet.getString(1)+ “” +
resultSet.getString(2)+ “” + resultSet.getString(3));
–

A primeira coluna tem índice 1, não 0;
7. Fechar a Conexão
connection.close();
–
- Abrir e fechar conexão é um recurso que consome muito da
máquina;
EXEMPLO
EXEMPLO



Passos para configurar ODBC no Windows:
Seleccionar Painel de Controlo –
Ferramentas Administrativas
Seleccionar “Fonte de Dados – ODBC”
EXEMPLO


Criar um DNS através da fonte de dados
ODBC
Adicionar - Microsoft Acess Driver – Concluir
EXEMPLO
• Nome da ligação ODBC - JavaJdbc
• Seleccionar BD - ...\jdbc.mdb
APLICAÇÃO JAVA APLICAÇÃO JAVA - JDBC
APLICAÇÃO JAVA APLICAÇÃO JAVA - JDBC
APLICAÇÃO JAVA APLICAÇÃO JAVA - JDBC
APLICAÇÃO JAVA APLICAÇÃO JAVA - JDBC

Resultado
Conclusão

Esta apresentação serve principalmente para
ficarmos com uma pequena ideia de qual a
finalidade e meios de implementação de uma
ligação a Base de Dados em Java através da JDBC.

De ter em atenção que nesta apresentação foram
especificados, como devem imaginar, apenas alguns
dos métodos e interfaces da JDBC.
Bibliografia e Links úteis

http://java.sun.com/products/jdbc/

http://www.imasters.com.br/artigo.php?cn=1020&cc=89

http://jdbcmanager.sourceforge.net/

http://www.mhavila.com.br/link/prog/java/java-api.html

http://www.inf.furb.br/~jomi/java/pdf/jdbc.pdf

http://java.sun.com/products/jdbc/learning.html

http://www.dimap.ufrn.br/~jorge/MySW/jdbc/threetier/Slides/index.htm
Download