trabalho teorico de linguagem de programação

Post on 23-Jun-2015

59 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Acesso a Base de dados

TRANSCRIPT

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- Fecha a conexão actual.

– public void commit() throws SQLException- 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 StatementStatement 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 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;

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

top related