Linguagens de Programação



Documentos relacionados
Programação em Rede JDBC

Programação Orientada a Objetos JDBC Java Database Connectivity

Integrando Java com Banco de Dados

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

Acesso a Bancos de Dados em Java (JDBC)

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

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

Desenvolvimento Web TCC Turma A-1

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

Programação Orientada a Objetos (DPADF 0063)

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.

Desenvolvimento de Sistemas de Informação

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

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

JDBC Acessando Banco de Dados

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

Aula 4 JDBC - Java Database Connectivity

JDBC - Java Data Base Connectivity

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

JDBC. Prof. Márcio Bueno

JDBC. Java DataBase Connectivity

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

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 Tópicos avançados de acesso a base de dados relacional

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

Especialização em web com interfaces ricas

Programação com Acesso a Banco de Dados

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

Acessando dados em Java com JDBC

Leonardo Gresta Paulino Murta

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

Programação Orientada a Objetos II

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

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

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

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

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

JavaServer Faces JSF

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

Tecnologias Java JDBC. Marcio Seiji Oyamada

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

Java 2 Standard Edition Fundamentos de

Java na WEB Banco de Dados

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

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

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

Universidade Católica do Salvador Bacharelado em Informática. Antonio Yuri Jailson do Amor Divino Felipe Souza. Tutorial: Trabalhando com JDBC

Acesso a banco de dados

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

Banco de Dados. Prof. Leonardo Barreto Campos 1

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

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

JDBC - Java Data Base Connectivity

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

Banco de Dados. Sérgio Luiz Ruivace Cerqueira

Conectividade de Banco de Dados Java JDBC

Web Services. EclipseSDK/DB2 Construindo/Consumindo Serviços

JPA: Persistência padronizada em Java

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

Acessando bancos de dados com o JDBC

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

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

Persistência de Classes em Tabelas de Banco de Dados

Padrões de Projeto e Persistência com DAO

Drive MySql de conexão para Eclipse

Orientação a Objetos

Bases de Dados 2007/2008. Aula 9

(UFF) JDBC (I) TEPIS II

JDBC Java Database Connectivity

CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA A F B G C H D I

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

Desenvolvimento de Aplicações para Internet Aula 9

Especialização em Engenharia de Software - CEUT

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

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

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

MySQL. Transacções em MySQL

Desenvolvendo aplicações

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

CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA A F B G C H D I E J

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

Exercícios de fixação: Listas

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

1) De acordo com o trecho de código escrito na linguagem JAVA, responda a questão abaixo:

Objectivos:. Construir programas com interfaces gráficas Graphical User Interface (GUI) application programs

Iniciar o Data Adapter Configuration Wizard. Toolbox Data Duplo clique em OleDbDataAdapter. Botão next na caixa de diálogo

CONEXÃO JAVA - BANCO DE DADOS

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

Figura 1. A Classe Java

Transcrição:

JDBC - Java Database Connectivity Necessidades : ligar aplicações Java e Applets a DBMS Drivers que suportam SQL um driver JDBC/DBMS deve suportar pelo menos o ANSI SQL92 JDBC é constituído por interfaces Java que permitem ao programador : estabelecer uma ligação com uma base de dados particular ; executar instruções SQL ; processar os resultados. Os interfaces mais importantes : java.sql.drivermanager gere o carregamento de um driver e suporta o estabelecimento de ligações a uma base de dados java.sql.connection representa a ligação a uma base de dados particular java.sql.statement representa um contentor para uma instrução SQL dada uma determinada ligação java.sql.resultset representa o contentor dos resultados de um tipo particular de Statement (query) O interface java.sql.statement interface tem dois sub-tipos importantes : java.sql.preparedstatement para executar uma instrução SQL précompilada java.sql.callablestatement para invocar uma stored procedure registada na base de dados 1

JDK 1.1 -> JDBC 1.0 JDK 1.2 -> JDBC 2.0 Drivers : JDBC-ODBC Bridge JDBC 2.0 -> jconnect 5.2 (driver p/ BD Sybase) 2

DriverManager Gere os drivers JDBC. Carrega as classes de driver. Um programa pode carregar explicitamente um driver JDBC a qualquer momento Class.forName("my.sql.Driver"); Connection 1) Carregar o driver Exemplos : Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // Class.forName cria uma instância do driver e regista-o no DriverManager ou : SybDriver sybdriver = null; Class c = Class.forName("com.sybase.jdbc2.jdbc.SybDriver"); sybdriver = (SybDriver) c.newinstance(); DriverManager.registerDriver((Driver) sybdriver); 3

2) Criar uma connection connection liga o driver ao DBMS Exemplo : String dburl = "jdbc:odbc:fred"; Connection conn = DriverManager.getConnection (dburl, "dba", "sql"); ou : String dburl = "jdbc:sybase:tds:localhost:2638"; Properties props = new Properties(); props.put("user", "dba"); props.put("password", "sql"); Connection conn = DriverManager.getConnection (dburl, props); ( JDBC URL tem o formato - jdbc:subprotocol:subname, tal como jdbc:sybase:tds:144.14.2.1:2001 ) Statement Statement envia instruções SQL ao DBMS Exemplo : Statement s = conn.createstatement(); // permite actualizar a base (criar, inserir, apagar ): s.executeupdate( "INSERT INTO Tabela1 " + "VALUES ('Pedro',4)" ); // ou consultar a base (fazer um query) : ResultSet r = s.executequery( "SELECT * " + "FROM tabela1" ); 4

ResultSet ResulSet tabela de dados que contém os resultados de um query à base de dados Exemplo : ResultSet r = s.executequery( "SELECT * " + "FROM tabela1" ); // o método next permite aceder a cada linha do ResultSet while(r.next()) { // os métodos getxxx permitem aceder aos tipos de dados em SQL String JNome = r.getstring("nome"); int JNumero = r.getint("numero"); System.out.println(JNome+" "+" "+JNumero); // outra maneira de identificar as colunas de uma tabela na base de dados : String JNome = r.getstring(1); int JNumero = r.getint(2); Mesmo que o ResultSet só tenha uma linha, é necessário utilizar next() para aceder a essa linha, pois inicialmente o cursor está posicionado antes da primeira linha. 5

Exemplo completo em modo Applet : import javax.swing.*; import java.sql.*; import com.sybase.jdbcx.*; import java.util.*; import java.awt.*; import java.awt.event.*; public class AppletAcessoBD1 extends JApplet { JButton b1 = new JButton("Acede a BD"); JTextField t = new JTextField("Acede à base ", 30); ActionListener a1 = new ActionListener() { public void actionperformed(actionevent e){ t.seteditable(true); SybDriver sybdriver = null; // Carrega o driver Sybase jdbc try { Class c = Class.forName("com.sybase.jdbc2.jdbc.SybDriver"); sybdriver = (SybDriver) c.newinstance(); DriverManager.registerDriver((Driver) sybdriver); catch (Exception ex) { System.out.println("Não consegue carregar o Sybase JDBC driver. " + ex); ex.printstacktrace(); String dburl = "jdbc:sybase:tds:localhost:2638"; try { Properties props = new Properties(); props.put("user", "dba"); props.put("password", "sql"); Connection conn = DriverManager.getConnection (dburl, props); 6

Linguagens de Programação // Abre ligacao Statement s = conn.createstatement(); // Codigo SQL : s.executeupdate( "INSERT INTO Tabela1 " + "VALUES ('Pedro',4)" ); ResultSet r = s.executequery( "SELECT * " + "FROM tabela1" ); boolean b = false; while(r.next()) { String JNome = r.getstring("nome"); int JNumero = r.getint("numero"); System.out.println(JNome+" "+" "+JNumero); s.close(); // Fecha statement conn.close(); // Fecha connection catch (SQLException sqe) { System.out.println("Excepcao : " + sqe.tostring() + ", sqlstate = " + sqe.getsqlstate()); sqe.printstacktrace(); System.exit(1); catch(exception exp) { exp.printstacktrace(); ; public void init() { b1.addactionlistener(a1); Container cp = getcontentpane(); cp.setlayout(new FlowLayout()); cp.add(b1); cp.add(t); 7

<HTML> </HTML> <HEAD> </HEAD> <BODY> </BODY> <TITLE>MyApplet Example1</TITLE> <H1>MyApplet</H1> <HR> <P> <APPLET CODE="AppletAcessoBD1" archive="jconn2.jar" WIDTH="300" HEIGHT="300"> </APPLET> </P> <HR> 8

Interface PreparedStatement extends Statement Pre-compile, store re-execute multiple times. Support IN parameters - PreparedStatement stmt = conn.preparestatement( "UPDATE table3 SET m =? WHERE x =?"); Set the IN parameters - stmt.setstring(1, "Hi"); stmt.setint(2, 25); Parameters are refered to sequentially, by number. The first parameter is 1 executequery,executeupdate,execute setabc methods setbyte,setbinarystream,setdouble,setlong,settimestamp.. etc. Method setobject(int parameterindex, Object x) interface CallableStatement extends PreparedStatement Execute SQL stored procedures with IN and OUT parameters. sqlstring {?= call [,,...] or {call [,,...] CallableStatement stmt = conn.preparecall( "{call gettestdata(?,?)"); setabc to set IN parameters Register OUT parameters using registeroutparameter prior to executing the stored procedure. stmt.registeroutparameter(1,java.sql.types.tinyint); Use getabc to retrieve OUT values after execution. byte x = stmt.getbyte(1); Interface ResultSet 9 ResultSet provides access to a table of data generated by executing a Statement.The table rows are retrieved in sequence. Within a row its column