Programação com Acesso a Banco de Dados



Documentos relacionados
Acesso a Bancos de Dados (JDBC) Autor: Cleyton Maciel (clayton.maciel@ifrn.edu.br) Adaptação: Pedro Baesse (pedro.baesse@ifrn.edu.

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs?

Java & Bancos de Dados Adaptado de Slides da Universidade Salgado de Oliveira Goiânia

Acesso a Bancos de Dados em Java (JDBC)

Banco de Dados. Banco de Dados. Alcides Pamplona Alcides Pamplona Linguagem de Programação CESBD 2010

Aula 1 Acesso a Banco de Dados

Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados. Prof. Josenildo Silva jcsilva@ifma.edu.br

Integrando Java com Banco de Dados

JAVA JDBC COMO FUNCIONA. Programação Orientada a Objetos Flávio de Oliveira Silva 315. Programação Orientada a Objetos Flávio de Oliveira Silva 316

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. JDBC - Java Database Connectivity A,L,F,M

JDBC Acessando Banco de Dados

Programação Orientada a Objetos JDBC Java Database Connectivity

Programação Orientada a Objetos (DPADF 0063)

JDBC (Java Database Connectivity) Padrão de Projeto DAO (Data Access Object) Roteiro para instalação do banco de dados e do driver JDBC

JAVA JDBC Java Database Connectivity

DSS 09/10. DSS 09/10 Que métodos é que fazem parte de cada camada? Aplicações Multi-camada JDBC. Aula 3 DSS 09/10

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro Maio/ 2015

DSS 08/09. Camada de Dados - JDBC. Aula 1. António Nestor Ribeiro /António Ramires Fernandes/ José Creissac Campos {anr,arf,jfc}@di.uminho.

Curso de Java. Acesso a banco de dados através de JDBC. Todos os direitos reservados Klais

Java e Conexão com Banco de Dados

Desenvolvimento Web TCC Turma A-1

(UFF) JDBC (I) TEPIS II

Orientação a Objetos

Acessando dados em Java com JDBC

Acessando bancos de dados com o JDBC

Acesso a Bancos de Dados (JDBC) Desenvolvimento de Aplicações em Java O QUE É JDBC JAVA E JDBC CARACTERÍSTICAS DE JDBC

Programação com Acesso a BD. Programação com OO Acesso em Java

Conectividade de Banco de Dados Java JDBC

Banco de Dados. Prof. Leonardo Barreto Campos 1

JDBC. Java DataBase Connectivity

Banco de Dados. Sérgio Luiz Ruivace Cerqueira

Java Básico JDBC. Razer Anthom Nizer Rojas Montaño Banco de Dados: JDBC

Leonardo Gresta Paulino Murta

Curso de Java Módulo III JDBC Fábio Mengue Centro de Computação - Unicamp

JPA: Persistência padronizada em Java

Acesso a Banco. Conexão em Java. Conexão em Java. Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel

Java 2 Standard Edition Fundamentos de

Fernando Freitas Costa. Pós-Graduando em Gestão e Docência Universitária. blog.fimes.edu.br/fernando nando@fimes.edu.br

Persistência de Classes em Tabelas de Banco de Dados

JDBC Java Database Connectivity

Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha

Execução de Instruções SQL

Manipulação de Banco de Dados com Java 1. Objetivos

Acesso a banco de dados

JDBC. Prof. Márcio Bueno

1.2- Ambientes de Middleware

Aula 4 JDBC - Java Database Connectivity

Figura 1. A Classe Java

De forma simples, para a execução de comandos SQL com JDBC, precisa-se da instancia de três classes Java. São elas: Nome da classe Função

PHP INTEGRAÇÃO COM MYSQL PARTE 2

CONEXÃO JAVA - BANCO DE DADOS

Java JDBC - I. Ex. 2: para o SQLServer da Microsoft, o driver JDBC pode ser obtido em

JDBC. Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos.

Java JDBC Aplicação Java com Acesso a um SGBD. Ricardo Terra (rterrabh [at] gmail.com) Java JDBC Maio, 2010

Manipulação de Dados em PHP (Visualizar, Inserir, Atualizar e Excluir) Parte 2

JAVA 14 ODBC / JDBC Aceder a Bases de Dados através da Internet. Vitor Vaz da Silva

Curso: Desenvolvimento Java

Programação em Rede JDBC

SQL BANCO DE DADOS. Linguagem de consulta SQL. Linguagem de consulta SQL. Linguagem de Consulta Estruturada

Java na WEB Banco de Dados

Prof. Marcelo Heitor Teixeira marceloheitor.com. Java API JDBC

No cabeçalho de cada arquivo Java onde haverá acesso a banco de dados, o seguinte Import deve ser colocado:

JDBC (Fundamentos) Sang Shin Java Technology Architect Sun Microsystems, Inc.

UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I

Daniel Filype Silva Barreto Márcio Sérgio Soares Austregésilo

Agenda. Instalação e configuração. Processamento de comandos SQL com JDBC. Driver JDBC Criação da classe de conexão

Desenvolvimento de Aplicações para Internet Aula 9

JDBC JDBC. JDBC - Arquitetura. JDBC Arquitetura Pacote Java.sql. Java Database Connectivity JDBC PostgreSQL

Front-End Uso da Linguagem Turbo Delphi para Acesso ao Banco de Dados Mysql

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins

Java na Web. Aplicações Web

Curso PHP Aula 08. Bruno Falcão

JDBC - Java Data Base Connectivity

TECNOLOGIAS DE ACESSO A BASES DE DADOS. Profª Ana Paula Cação Maio de 2018

Banco de Dados Oracle. Faculdade Pernambucana - FAPE

Especialização em web com interfaces ricas

UFG - Instituto de Informática

Arquitetura de Banco de Dados

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 9- Introdução ao JDBC

BD SQL Server. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04

MySQL. Transacções em MySQL

O sucesso da WWW. Atualização de Hiperdocumentos. Atualização de Hiperdocumentos. Cuidados. Exemplo. Passos. Motivos :

Banco de dados POO Márcio Delamaro. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Linguagens de Programação

Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas;

LINGUAGEM DE BANCO DE DADOS

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Introdução a Banco de Dados Aula 03. Prof. Silvestri


Noções de. Microsoft SQL Server. Microsoft SQL Server

Desenvolvendo Aplicações Web com NetBeans

Prof.: Clayton Maciel Costa

Transcrição:

Campus Ipanguaçu Curso: Técnico em Informática Programação com Acesso a Banco de Dados AULA 17 ACESSO A BANCO DE DADOS COM JDBC PROF.: CLAYTON M. COSTA 2 011.2

Introdução Aplicação + Banco de Dados: Funcionalidade primordial em qualquer sistema. A Linguagem Java possui uma Application Programming Interface (API) que possibilita o acesso a Banco de Dados; Java DataBase Connectivity (JDBC)

JDBC O que é a JDBC? Consiste em uma biblioteca; Implementada em Java; Disponibiliza classes e interfaces para acessar qualquer banco de dados; Importante: Para cada banco de dados existe uma implementação JDBC. Drivers.

JDBC 1 2 3 1) A aplicação chama a API JDBC. 2) A API carrega o driver que entende o SGBD. 3) A aplicação pode se conectar e enviar requisições ao SGBD. Pacote principal: java.sql

O que JDBC faz? De maneira simplificada JDBC faz seis coisas: 1. Estabelece conexão com o banco de dados. 2. Executa consultas. 3. Recebe o conjunto de Resultados das Consultas. 4. Executa stored procedures. 5. Obtém informações sobre o banco de dados, tabelas, visões e stored procedures. 6. Executa transações.

Arquitetura JDBC Modelo em duas camadas: Acesso ao Banco Disco Local e Outras Fontes Java e JDBC Máquina Cliente LAN ou Intranet Servidor de BD

Tipos de Drivers JDBC 1. Ponte JDBC ODBC; 2. Acesso Nativo; 3. Acesso por Middleware.

Tipos de Drivers JDBC 1. Ponte JDBC ODBC Convertem chamadas JDBC em chamadas ODBC e as envia ao driver ODBC; Possibilitam o uso indireto de drivers ODBC; Necessidade de configurar o ODBC. Restrito à plataforma Windows;

Tipos de Drivers JDBC 2. Acesso Nativo Convertem chamadas JDBC em chamadas nativas do banco e comunicam-se diretamente com o SGBD; Apresentam ganhos de performance. É implementado na linguagem Java; Independente de plataforma; Tipo mais recomendado para ser usado e mais utilizado no mercado. Aplicação JDBC Driver Manager API Nativa do Banco Banco de Dados

Tipos de Drivers JDBC 3. Acesso por Middleware Convertem chamadas JDBC em um protocolo de rede independente do SGBD As requisições são traduzidas para o protocolo específico do SGBD. Possibilitam o uso de diferentes SGBD s. Suportam o acesso pela internet. Precisam de cuidados adicionais com a segurança. É mais utilizado para banco de dados antigos como estatais de governos. Aplicação JDBC Driver Manager Rede Middleware ou Servidor Banco de Dados Banco de dados

Pacote java.sql 5 passos básicos: 1. Registrar o driver na aplicação; 2. Conectar no SGBD; 3. Executar comandos SQL; 4. Processar o resultado recebido; 5. Fechar a conexão. Principais classes do pacote java.sql: DriverManager: responsável por criar uma conexão com o banco de dados; Connection: classe responsável por manter uma conexão aberta com o banco de dados; Statement: gerencia e executa instruções SQL; ResultSet: responsável por receber e apresentar os dados obtidos do banco de dados. Referência: http://java.sun.com/javase/6/docs/api/java/sql/package-summary.html

JDBC Passos Básicos Registro do driver: O driver é registrado automaticamente quando a classe é carregada na aplicação. Carrega o driver em tempo de execução. Class.forName("org.postgresql.Driver"); // POSTGRESQL Class.forName("com.mysql.jdbc.Driver"); // MYSQL Class.forName("oracle.jdbc.OracleDriver"); //ORACLE

JDBC Passos Básicos Conexão com o SGBD: Após o registro do driver, é necessário fornecer informações ao DriverManager para realizar a conexão com o Banco de Dados: Connection con = DriverManager.getConnection(url, login, senha)

Connection Representa a conexão com o banco de dados; Métodos desta classe frequentemente utilizados (SUN, 2007): commit(), executa todas as alterações feitas com o banco de dados pela atual transação. rollback(), desfaz qualquer alteração feita com o banco de dados pela atual transação. close(), libera o recurso que estava sendo utilizado pelo objeto.

JDBC Passos Básicos Conexão com o SGBD: DriverManager.getConnection(url, login, senha); url: URL de conexão JDBC jdbc:postgresql://localhost: 5432/cursodb jdbc:mysql://localhost:3306/cursodb jdbc:oracle:thin:@localhost:1521:xe login: usuário com direitos de acesso ao banco de dados; senha: senha para autenticação. Sintaxe geral de urls: jdbc:<subprotocolo>://<servidor>:<porta>/<banco_de_dados>

JDBC Passos Básicos Conexão com o SGBD: // Carregando o driver oracle em tempo de execução da aplicação Class.forName("oracle.jdbc.OracleDriver"); // Estabelecendo a conexão com o Banco de Dados Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE", "system", "senha");

JDBC Passos Básicos Execução de sentenças SQL Para a execução de sentenças é necessário criar um Statement e obter o resultado através de um ResultSet; Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery( select * from empregados e ); Na maioria dos casos, o resultado é armazenado num ResultSet e pode ser percorrido com métodos definidos nesta classe.

Statement Fornece métodos para executar uma instrução SQL; Não aceita a passagem de parâmetros; principais métodos da classe Statement são (SUN, 2007): executeupdate(): executa instruções SQL do tipo: INSERT, UPDATE e DELETE; executequery(): executa instruções SQL de busca de dados, do tipo: SELECT; close(): libera o recurso que estava sendo utilizado pelo objeto. // Instanciando o objeto statement (stmt) Statement stmt = conn.createstatement(); // Executando uma instrução SQL. stmt.executeupdate( INSERT INTO ALUNO VALUES (1, Pedro da Silva ) );

ResultSet Permite o recebimento e gerenciamento do conjunto de dados resultante de uma consulta SQL; Métodos freqüentemente utilizados (SUN, 2007): next(): move o cursor para a próxima linha de dados, já que o conjunto de dados retornados pela consulta SQL é armazenado como em uma tabela. close(): libera o recurso que estava sendo utilizado pelo objeto. getstring(string columnname): recupera o valor da coluna informada como parâmetro, da linha atual do conjunto de dados recebidos pelo objeto ResultSet.

ResultSet //Recebendo o conjunto de dados da consulta SQL ResultSet rs = stmt.executequery("select id, nome FROM ALUNO"); // Se houver resultados, posiciona-se o cursor na próxima linha de dados while (rs.next()) { // Recuperando os dados retornados pela consulta SQL int id = rs.getint("id"); String nome = rs.getstring("nome"); }

Exemplo no Código Java Considere o banco de dados do usuário IFRNBD. Tabela Autor: cod_autor, nome, nacionalidade.