SlideShare a Scribd company logo
1 of 29
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
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

More Related Content

What's hot

Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)Helder da Rocha
 
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)Helder da Rocha
 
API de segurança do Java EE 8
API de segurança do Java EE 8API de segurança do Java EE 8
API de segurança do Java EE 8Helder da Rocha
 
Silo.tips aula 4-jdbc-java-database-connectivity
Silo.tips aula 4-jdbc-java-database-connectivitySilo.tips aula 4-jdbc-java-database-connectivity
Silo.tips aula 4-jdbc-java-database-connectivityffeitosa
 
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)Helder da Rocha
 
Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Helder da Rocha
 
Acesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBCAcesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBCLuiz Ricardo Silva
 
Minicurso de Segurança em Java EE 7
Minicurso de Segurança em Java EE 7Minicurso de Segurança em Java EE 7
Minicurso de Segurança em Java EE 7Helder da Rocha
 
A arquitetura modular do Java 9
A arquitetura modular do Java 9A arquitetura modular do Java 9
A arquitetura modular do Java 9Helder da Rocha
 
Java database connectivity jdbc
Java database connectivity   jdbcJava database connectivity   jdbc
Java database connectivity jdbcDinarte Filho
 
Odi tutorial configuração repositórios mestre e trabalho
Odi tutorial   configuração repositórios mestre e trabalhoOdi tutorial   configuração repositórios mestre e trabalho
Odi tutorial configuração repositórios mestre e trabalhoCaio Lima
 
Introdução a JPA e Hibernate - TDC 2012
Introdução a JPA e Hibernate - TDC 2012Introdução a JPA e Hibernate - TDC 2012
Introdução a JPA e Hibernate - TDC 2012Frederico Maia Arantes
 
Odi tutorial glossário e termos técnicos
Odi tutorial   glossário e termos técnicosOdi tutorial   glossário e termos técnicos
Odi tutorial glossário e termos técnicosCaio Lima
 
Java Web 3 - Servlets e JSP 1
Java Web 3 - Servlets e JSP 1Java Web 3 - Servlets e JSP 1
Java Web 3 - Servlets e JSP 1Eduardo Mendes
 
Introdução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSPIntrodução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSPManoel Afonso
 
ODI Tutorial - Configuração Topologia
ODI Tutorial - Configuração TopologiaODI Tutorial - Configuração Topologia
ODI Tutorial - Configuração TopologiaCaio Lima
 

What's hot (20)

Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)
 
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
 
API de segurança do Java EE 8
API de segurança do Java EE 8API de segurança do Java EE 8
API de segurança do Java EE 8
 
Silo.tips aula 4-jdbc-java-database-connectivity
Silo.tips aula 4-jdbc-java-database-connectivitySilo.tips aula 4-jdbc-java-database-connectivity
Silo.tips aula 4-jdbc-java-database-connectivity
 
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
 
Java 14
Java 14Java 14
Java 14
 
Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)
 
Acesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBCAcesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBC
 
Minicurso de Segurança em Java EE 7
Minicurso de Segurança em Java EE 7Minicurso de Segurança em Java EE 7
Minicurso de Segurança em Java EE 7
 
A arquitetura modular do Java 9
A arquitetura modular do Java 9A arquitetura modular do Java 9
A arquitetura modular do Java 9
 
Java database connectivity jdbc
Java database connectivity   jdbcJava database connectivity   jdbc
Java database connectivity jdbc
 
Odi tutorial configuração repositórios mestre e trabalho
Odi tutorial   configuração repositórios mestre e trabalhoOdi tutorial   configuração repositórios mestre e trabalho
Odi tutorial configuração repositórios mestre e trabalho
 
Introdução a JPA e Hibernate - TDC 2012
Introdução a JPA e Hibernate - TDC 2012Introdução a JPA e Hibernate - TDC 2012
Introdução a JPA e Hibernate - TDC 2012
 
Java 9, 10, 11
Java 9, 10, 11Java 9, 10, 11
Java 9, 10, 11
 
Odi tutorial glossário e termos técnicos
Odi tutorial   glossário e termos técnicosOdi tutorial   glossário e termos técnicos
Odi tutorial glossário e termos técnicos
 
Java Web 3 - Servlets e JSP 1
Java Web 3 - Servlets e JSP 1Java Web 3 - Servlets e JSP 1
Java Web 3 - Servlets e JSP 1
 
Introdução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSPIntrodução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSP
 
ODI Tutorial - Configuração Topologia
ODI Tutorial - Configuração TopologiaODI Tutorial - Configuração Topologia
ODI Tutorial - Configuração Topologia
 
Curso de JSP
Curso de JSPCurso de JSP
Curso de JSP
 
jsp-intro
jsp-introjsp-intro
jsp-intro
 

Viewers also liked

Viewers also liked (20)

Microsoft access
Microsoft accessMicrosoft access
Microsoft access
 
Aula Modelo Relacional
Aula Modelo RelacionalAula Modelo Relacional
Aula Modelo Relacional
 
Introducao Base Dados I
Introducao Base Dados IIntroducao Base Dados I
Introducao Base Dados I
 
Base de dados tic 10º ano
Base de dados   tic 10º anoBase de dados   tic 10º ano
Base de dados tic 10º ano
 
Modelação de Dados
Modelação de DadosModelação de Dados
Modelação de Dados
 
Access diapositivos aula nº 1 e 2
Access diapositivos aula nº 1 e 2Access diapositivos aula nº 1 e 2
Access diapositivos aula nº 1 e 2
 
Access aula 1 - intodução e conhecendo
Access   aula 1 - intodução e conhecendoAccess   aula 1 - intodução e conhecendo
Access aula 1 - intodução e conhecendo
 
Apresentação de microsoft access 2007 luis aguiar
Apresentação de microsoft access 2007   luis aguiarApresentação de microsoft access 2007   luis aguiar
Apresentação de microsoft access 2007 luis aguiar
 
Apostila access 2010
Apostila access 2010Apostila access 2010
Apostila access 2010
 
Conceitos essenciais de bases de dados
Conceitos essenciais de bases de dadosConceitos essenciais de bases de dados
Conceitos essenciais de bases de dados
 
Introducao Base Dados Ii
Introducao Base Dados IiIntroducao Base Dados Ii
Introducao Base Dados Ii
 
Bases De Dados
Bases De DadosBases De Dados
Bases De Dados
 
Manual de microsoft office access 2010
Manual de microsoft office access 2010Manual de microsoft office access 2010
Manual de microsoft office access 2010
 
Ppt curso access 2010
Ppt curso access 2010Ppt curso access 2010
Ppt curso access 2010
 
Manual do Access-Denise Guimarães
Manual do Access-Denise GuimarãesManual do Access-Denise Guimarães
Manual do Access-Denise Guimarães
 
Aula 1 introdução a base de dados
Aula 1   introdução a base de dadosAula 1   introdução a base de dados
Aula 1 introdução a base de dados
 
SGBD
SGBDSGBD
SGBD
 
64805565 access-basico
64805565 access-basico64805565 access-basico
64805565 access-basico
 
Access 2007 basico
Access 2007 basicoAccess 2007 basico
Access 2007 basico
 
PROA-UA: Plataforma de Revistas em Open Access da UA
PROA-UA: Plataforma de Revistas em Open Access da UAPROA-UA: Plataforma de Revistas em Open Access da UA
PROA-UA: Plataforma de Revistas em Open Access da UA
 

Similar to Acesso a Base de Dados com JDBC

Similar to Acesso a Base de Dados com JDBC (20)

Fundamentos de JDBC
Fundamentos de JDBCFundamentos de JDBC
Fundamentos de JDBC
 
Jdbc e maria db
Jdbc e maria dbJdbc e maria db
Jdbc e maria db
 
Conectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbcConectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
1102 banco-de-dados-com-java-jdbc
1102 banco-de-dados-com-java-jdbc1102 banco-de-dados-com-java-jdbc
1102 banco-de-dados-com-java-jdbc
 
Java13
Java13Java13
Java13
 
Introdução à programação para web com Java - Módulo 01: Conexão com bamco de...
Introdução à programação para web com Java -  Módulo 01: Conexão com bamco de...Introdução à programação para web com Java -  Módulo 01: Conexão com bamco de...
Introdução à programação para web com Java - Módulo 01: Conexão com bamco de...
 
1 jdbc
1 jdbc1 jdbc
1 jdbc
 
1 jdbc
1 jdbc1 jdbc
1 jdbc
 
Aula1
Aula1Aula1
Aula1
 
Apostila: Curso de java III
Apostila: Curso de java IIIApostila: Curso de java III
Apostila: Curso de java III
 
Curso de Java (Parte 5)
Curso de Java (Parte 5)Curso de Java (Parte 5)
Curso de Java (Parte 5)
 
Java com banco my sql
Java com banco my sqlJava com banco my sql
Java com banco my sql
 
Bancos de dados e jdbc java para desenvolvimento web
Bancos de dados e jdbc   java para desenvolvimento webBancos de dados e jdbc   java para desenvolvimento web
Bancos de dados e jdbc java para desenvolvimento web
 
Introdução ao JDBC - BarreirasJUG
Introdução ao JDBC - BarreirasJUGIntrodução ao JDBC - BarreirasJUG
Introdução ao JDBC - BarreirasJUG
 
CURSO JAVA 01
CURSO JAVA 01CURSO JAVA 01
CURSO JAVA 01
 
Conceitos de Java Web
Conceitos de Java WebConceitos de Java Web
Conceitos de Java Web
 
Ado
AdoAdo
Ado
 
Programação para Web II: JavaServer Pages
Programação para Web II:  JavaServer PagesProgramação para Web II:  JavaServer Pages
Programação para Web II: JavaServer Pages
 
Aula 6 conexão bd
Aula 6 conexão bdAula 6 conexão bd
Aula 6 conexão bd
 

Recently uploaded

HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
Currículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdfCurrículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdfIedaGoethe
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosAntnyoAllysson
 
Atividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu AbrigoAtividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu AbrigoMary Alvarenga
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISVitor Vieira Vasconcelos
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...LizanSantos1
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfIedaGoethe
 
PPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdfPPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdfAnaGonalves804156
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOMarcosViniciusLemesL
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxconcelhovdragons
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 

Recently uploaded (20)

XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
Currículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdfCurrículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdf
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteiros
 
Atividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu AbrigoAtividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu Abrigo
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGIS
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
 
PPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdfPPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdf
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
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
  • 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