Anda di halaman 1dari 29

Acesso a Base de Dados

JDBC
Trabalho Realizado por:
Diogo Reis, 1010481
INTRODUO


JDBC (Java DataBase Conectivity) uma API Java
que fornece classes e interfaces para acesso e
tratamento de dados.

Camada de abstraco que permite a um programa
Java utilizar uma interface padro para acesso a
uma base de dados relacional atravs da linguagem
SQL.

INTRODUO

A API JDBC cria como padro:

O mecanismo de como deve ser feita a ligao Base de Dados
Abordagem para criar consulta
Resultado da consulta

A API JDBC no cria como padro:
Sintaxe SQL

API localizada no pacote java.sql

INTRODUO

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

So o corao 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 ligao (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 aplicao
intermediria (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 construda em C para aceder a base de
dados.
ODBC no uma API independente de
plataforma, sendo patrocinado pela
Microsoft.
A API JDBC oferece um driver especfico
para o padro 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 conexo e acesso s
principais base de dados existentes so
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 conexo
entre o driver apropriado e a Base de Dados.
Mtodos
public static Connection getConnection (String url)
throws SQLException

Inicia uma conexo base de dados e retorna um objecto
Connection.

CONNECTION

Representa uma conexo com uma BD especfica

comandos SQL so executados e os resultados so retornados
aspectos das transaces so tratados (commit,etc)
descrio da BD pode ser obtida (metadados)

Mtodos
public Statement createStatement() throws SQLException

- Cria um objeto com uma instruo SQL para execuo futura.

CONNECTION

Mtodos

public void close() throws SQLException
- Fecha a conexo actual.

public void commit() throws SQLException
- Confirma a transaco.

public void rollback() throws SQLException
- Cancela a transaco.

STATEMENT

Utilizado para enviar comandos SQL simples
Mtodos
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 instruo INSERT, UPDATE ou DELETE
especificada em SQL.
public void cancel() throws SQLException
- Cancela uma instruo SQL que esteja a ser executada.


PREPAREDSTATEMENT

Utilizado para enviar comandos SQL que recebam um ou mais parmetros como entrada

Mtodos

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 actualizaes numa base de dados como a criao de tabelas
(CREATE), alteraes (UPDATE) ou excluso (DELETE) de registros, etc.

public setInt(int indice, int valor) public setBoolean(int indice, boolean valor)
Usado para configurar os parmetros dum cdigo SQL.


CALLABLESTATEMENT

Utilizado para chamar stored procedures na
Base de Dados.
Mtodos
public CallableStatement prepareCall (String
storedProcedure) throws SQLException
- Executa a stored procedured armazenada na Base de
Dados.

SETE PASSOS BSICOS PARA USAR O JDBC

1. Carregar o driver
2. Definir a URL de Conexo
3. Estabelecer a Conexo
4. Criar um objecto Statement
5. Executar a Consulta
6. Processar os Resultados
7. Fechar a Conexo

SETE PASSOS BSICOS PARA USAR O JDBC

1. Carregar o driver
try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver "); }
catch(ClassNotFoundException e) {...}
2. Definir a URL de Conexo
String odbcURL = "jdbc:odbc:Java";
3. Estabelecer a conexo
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 BSICOS 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, no 0;

7. Fechar a Conexo
connection.close();
- Abrir e fechar conexo um recurso que consome muito da
mquina;

EXEMPLO

EXEMPLO

Passos para configurar ODBC no Windows:
Seleccionar Painel de Controlo
Ferramentas Administrativas
Seleccionar Fonte de Dados ODBC

EXEMPLO

Criar um DNS atravs da fonte de dados
ODBC
Adicionar - Microsoft Acess Driver Concluir


EXEMPLO

Nome da ligao ODBC - JavaJdbc
Seleccionar BD - ...\jdbc.mdb

APLICAO JAVA APLICAO JAVA - JDBC

APLICAO JAVA APLICAO JAVA - JDBC


APLICAO JAVA APLICAO JAVA - JDBC

APLICAO JAVA APLICAO JAVA - JDBC

Resultado

Concluso

Esta apresentao serve principalmente para
ficarmos com uma pequena ideia de qual a
finalidade e meios de implementao de uma
ligao a Base de Dados em Java atravs da JDBC.

De ter em ateno que nesta apresentao foram
especificados, como devem imaginar, apenas
alguns dos mtodos 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

Anda mungkin juga menyukai