JDBC. Java DataBase Connectivity



Documentos relacionados
Acesso a Bancos de Dados em Java (JDBC)

Programação Orientada a Objetos JDBC Java Database Connectivity

Integrando Java com Banco de Dados

JDBC Acessando Banco de Dados

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

JDBC. Prof. Márcio Bueno

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

Java e Conexão com Banco de Dados

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

Banco de Dados. Sérgio Luiz Ruivace Cerqueira

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

Programação com Acesso a Banco de Dados

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

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

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

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

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

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

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

Programação Orientada a Objetos (DPADF 0063)

Acessando dados em Java com JDBC

JAVA JDBC Java Database Connectivity

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.

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

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

Desenvolvimento Web TCC Turma A-1

Leonardo Gresta Paulino Murta

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

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

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

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

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

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

Aula 1 Acesso a Banco de Dados

JDBC Tópicos avançados de acesso a base de dados relacional

Padrões de Projeto e Persistência com DAO

Drive MySql de conexão para Eclipse

JPA: Persistência padronizada em Java

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

JavaServer Faces JSF

Conectividade de Banco de Dados Java JDBC

JDBC Java Database Connectivity

JDBC DRIVER. Objetivo: Possibilitar aplicações não Zim de se conectar a um banco de dados Zim utilizando as normas JDBC.

Acesso a banco de dados

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

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

Persistência de Classes em Tabelas de Banco de Dados

Módulo 5 - JDBC java.sql - Conexão com Banco de Dados

Programação em Rede JDBC

JDBC - Java Data Base Connectivity

Linguagens de Programação

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

(UFF) JDBC (I) TEPIS II

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

Banco de Dados. Prof. Leonardo Barreto Campos 1

Java 2 Standard Edition Fundamentos de

Introdução à Tecnologia Java 02/2012. Java Aula 05 12/09/2012. Celso Olivete Júnior.

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

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

Listando, gravando, alterando e excluindo registro do banco de dados com JSP

Especialização em web com interfaces ricas

Desenvolvimento de Sistemas de Informação

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

Java na WEB Banco de Dados

Mapeamento Lógico/Relacional com JPA

Programação Orientada a Objetos II

Java na Web. Aplicações Web

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

Persistência de Objetos no SGBD PostgreSQL, Utilizando as APIs: JDBC, JDK, Swing e Design Patteners DAO.

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Curso: Desenvolvimento Java

Capítulo 1. Acesso a Banco de Dados com JDBC (Java Database Connectivity) e o Padrão de Projeto DAO (Data Access Object)

Banco de Dados. Maurício Edgar Stivanello

Programação Orientada a Objetos II

Aula 4 JDBC - Java Database Connectivity

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

Driver Mysql para Banco de Dados. Conexão com um Banco de Dados

SISTEMA EXPERIMENTALL 15/11/2009. Olá! A partir de agora vamos conhecer a IDE NetBeans efetuando um micro projeto swing.

Funcionamento da Aplicação. Simulações do funcionamento. Simulação SAC

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

Capítulo 35. Sistemas de Banco de Dados. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Aula 2 Exibindo Resultados de Consultas

Desenvolvimento de Aplicações para Internet Aula 9

CONEXÃO JAVA - BANCO DE DADOS

Integrando Java e Banco de Dados (Tutorial) por Jorge Henrique Cabral Fernandes

Introdução Conceitos Iniciais Metodologia Web Services Considerações Finais. Introdução. Conceitos Iniciais Metodologia

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

Especialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

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

Como criar um banco de dados usando o mysql

Exercícios de fixação: Listas

Acessando bancos de dados com o JDBC

Transcrição:

JDBC Java DataBase Connectivity

JDBC??? Uma API que permite o acesso a virtualmente qualquer fonte de dado tabular a partir de um programa escrito em Java O que é uma uma fonte de dados tabular? acesso a virtualmente qualquer fonte de dado, de banco de dados relacional a planilhas e arquivos. Documentação JDBC O nosso foco será o acesso a uma base de dados MySQL 2

Arquitetura Geral Qual a vantagem dessa arquitetura para o desenvolvedor? 3

Arquitetura JDBC Oracle Driver Oracle Aplicação java JDBC Rede DB2 Driver DB2 MySQL Driver 4 MySQL

O Básico para se usar um banco de dados em Java 0.Carga do driver adequado 1.Estabelecer uma conexão(connection) 2.Criar comandos JDBC(Statements) 3.Executar comandos SQL 4.Obter Resultados (ResultSet) 5.fechar Conexões 5

0. Carga do driver... import java.sql.*; Class.forName("com.mysql.jdbc.Driver"); Carga da hierarquia de classes própria para o banco de dados mysql Class.forName carrega a classe especificada 6

1. Estabelecer uma conexão Connection conn = DriverManager.getConnection( "jdbc:mysql://ender eçointernetdabase/abase", username, passwd); Estabelece uma conexão com a base obtendo um objeto da classe Connection 7

2. Criar comando(s) JDBC Statement stmt = conn.createstatement() ; Cria Objetos da classe Statement para o envio de comandos SQL para a base de dados 8

Executando Comandos SQL String createagenda = "Create table agenda " + "(Name VARCHAR(32), " + "fone VARCHAR(10)"; stmt.executeupdate(createagenda); String insertagenda = "Insert into agenda values + "( \ maria\, \ 9236511179\ )"; stmt.executeupdate(insertagenda); 9

Manipulando o Resultado String queryagenda = "select * from agenda"; ResultSet rs = stmt.executequery(queryagenda); while (rs.next()) { String nome = rs.getstring("nome"); String fone = rs.getstring("fone"); } 10

Fechar Conexão stmt.close(); con.close(); 11

Transações e JDBC JDBC permite que comandos SQL sejam agrupados em uma única transação; Controle da Transação é feito via objeto Connection, cujo o modo default é auto-commit, i.e., cada comando sql é visto com uma transação O modo auto-commit pode ser desligado com o conn.setautocommit(false); E reativado com conn.setautocommit(true); Uma vez desligado, nenhum comando SQL será comprometido (comitado) até que se o faça explitamente atravês da seguinte chamada conn.commit(); Neste ponto todas as mudanças serão efetivadas definitivamente na base de dados. 12

Tratando erros com TryCatchFinally Programas devem sempre se recuperar e deixar a base de dados em um estado consistente. Se um comando no bloco try levanta uma exceção, pode-se capturá-la em uma das entradas catch correspondente; Como um bloco finally { } pode ser útil neste caso? Pode-se desfazer a transação no bloco catch { } ou fechar a conexão com o banco e liberar os recursos relacionados ao banco no bloco finally { } 13

Mapeando Tipos JDBC - Java 14

JDBC 2 O Result Set é navegável Statement stmt = conn.createstatement(resultset.type_scroll_insensitive, ResultSet.CONCUR_READ_ONLY); String query = select students from class where type= not sleeping ; ResultSet rs = stmt.executequery( query ); rs.previous(); / / volta no RS rs.relative(-5); / / volta 5 registros em relação a posição corrente rs.relative(7); / / avança 7 em relação a posição corrente rs.absolute(100); / / avança para o 100-ésimo registro 15

Metadados do BD Um Objeto Connection' de uma BD é capaz de fornecer informações do schema que descrevem as tabelas e outras informações; Essa informação está disponível atravês do objeto DatabaseMetaData. 16

Metadado do BB - exemplo Connection conn =. ; DatabaseMetaData dbmd = conn.getmetadata(); String catalog = null; String schema = null; String table = sys% ; String[ ] types = null; ResultSet rs = dbmd.gettables(catalog, schema, table, types ); 17

JDBC Metadados do RS public static void printrs(resultset rs) throws SQLException { ResultSetMetaData md = rs.getmetadata(); // número de colunas int ncols = md.getcolumncount(); // imprime os nomes das colunas for(int i=1; i < ncols; ++i) System.out.print( md.getcolumnname( i)+","); / / imprime todo o resultset while ( rs.next() ) { for(int i=1; i < ncols; ++i) System.out.print( rs.getstring( i)+","); System.out.println( rs.getstring(ncols) ); } 18 }

Referências JDBC Data Access API JDBC Technology Homepage http://java.sun.com/products/jdbc/index.html JDBC Database Access The Java Tutorial http://java.sun.com/docs/books/tutorial/jdbc/index.html JDBC Documentation http://java.sun.com/j2se/1.4.2/docs/guide/jdbc/index.html java.sql package http://java.sun.com/j2se/1.4.2/docs/api/java/sql/package-summary.html JDBC Technology Guide: Getting Started http://java.sun.com/j2se/1.4.2/docs/guide/jdbc/getstart/gettingstartedtoc.fm.html JDBC API Tutorial and Reference (book) http://java.sun.com/docs/books/jdbc/ 19

JDBC JDBC Data Access API JDBC Technology Homepage http://java.sun.com/products/jdbc/index.html JDBC Database Access The Java Tutorial http://java.sun.com/docs/books/tutorial/jdbc/index.html JDBC Documentation http://java.sun.com/j2se/1.4.2/docs/guide/jdbc/index.html java.sql package http://java.sun.com/j2se/1.4.2/docs/api/java/sql/package-summary.html JDBC Technology Guide: Getting Started http://java.sun.com/j2se/1.4.2/docs/guide/jdbc/getstart/gettingstartedtoc.fm.html JDBC API Tutorial and Reference (book) http://java.sun.com/docs/books/jdbc/ 20