290 likes | 397 Views
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.
E N D
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 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 • 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 • 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