acesso a base de dados jdbc trabalho realizado por: diogo reis, 1010481

29
Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

Upload: internet

Post on 18-Apr-2015

146 views

Category:

Documents


41 download

TRANSCRIPT

Page 1: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

Acesso a Base de Dados

JDBC

Trabalho Realizado por:

Diogo Reis, 1010481

Page 2: 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.

Page 3: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

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

Page 4: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

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.

Page 5: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

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

Page 6: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

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.

Page 7: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

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.

Page 8: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

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.

Page 9: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

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.

Page 10: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

PRINCIPAIS CLASSES E INTERFACES JDBC

DriverManager Connection Statement PreparedStatement CallableStatement ResultSet SQLException

Page 11: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

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.

Page 12: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

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.

Page 13: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

CONNECTION

Métodos

– public void close() throws SQLException- Fecha a conexão actual.

– public void commit() throws SQLException- Confirma a transacção.

– public void rollback() throws SQLException- Cancela a transacção.

Page 14: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

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.

Page 15: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

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.

Page 16: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

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.

Page 17: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

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

Page 18: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

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 StatementStatement statement =connection.createStatement();

5. Executar a Consulta:String query = “SELECT col1, col2, col3 FROM sometable”;ResultSet resultSet = statement.executeQuery(query);

Page 19: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

SETE PASSOS BÁSICOS PARA USAR O JDBC

6. Processar os Resultadoswhile(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ãoconnection.close();

– - Abrir e fechar conexão é um recurso que consome muito da máquina;

Page 20: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

EXEMPLO

Page 21: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

EXEMPLO

Passos para configurar ODBC no Windows: Seleccionar Painel de Controlo –

Ferramentas Administrativas Seleccionar “Fonte de Dados – ODBC”

Page 22: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

EXEMPLO

Criar um DNS através da fonte de dados ODBC

Adicionar - Microsoft Acess Driver – Concluir

Page 23: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

EXEMPLO

• Nome da ligação ODBC - JavaJdbc

• Seleccionar BD - ...\jdbc.mdb

Page 24: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

APLICAÇÃO JAVA APLICAÇÃO JAVA - JDBC

Page 25: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

APLICAÇÃO JAVA APLICAÇÃO JAVA - JDBC

Page 26: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

APLICAÇÃO JAVA APLICAÇÃO JAVA - JDBC

Page 27: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

APLICAÇÃO JAVA APLICAÇÃO JAVA - JDBC

Resultado

Page 28: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

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.

Page 29: Acesso a Base de Dados JDBC Trabalho Realizado por: Diogo Reis, 1010481

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