UFCD_10392_Intervenção em populações de risco_índice .pdf
Acesso a Base de Dados com JDBC
1. Acesso a Base de Dados
JDBC
Trabalho Realizado por:
Diogo Reis, 1010481
2. 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.
3. 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
4. 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.
5. 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
6. 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.
7. 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.
8. 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.
9. 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.
10. PRINCIPAIS CLASSES E INTERFACES JDBC
DriverManager
Connection
Statement
PreparedStatement
CallableStatement
ResultSet
SQLException
11. 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.
12. 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.
13. 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.
14. 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.
15. 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.
16. 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.
17. 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
18. 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);
19. 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;
21. EXEMPLO
Passos para configurar ODBC no Windows:
Seleccionar Painel de Controlo –
Ferramentas Administrativas
Seleccionar “Fonte de Dados – ODBC”
22. EXEMPLO
Criar um DNS através da fonte de dados
ODBC
Adicionar - Microsoft Acess Driver – Concluir
23. EXEMPLO
• Nome da ligação ODBC - JavaJdbc
• Seleccionar BD - ...jdbc.mdb
28. 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.