1 / 29

Acesso a Base de Dados

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.

gilles
Download Presentation

Acesso a Base de Dados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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;

  20. EXEMPLO

  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

  24. APLICAÇÃO JAVA APLICAÇÃO JAVA - JDBC

  25. APLICAÇÃO JAVA APLICAÇÃO JAVA - JDBC

  26. APLICAÇÃO JAVA APLICAÇÃO JAVA - JDBC

  27. APLICAÇÃO JAVA APLICAÇÃO JAVA - JDBC • Resultado

  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.

  29. 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

More Related