Especialização em web com interfaces ricas

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

Acesso a banco de dados

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

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

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

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

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

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

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.

Orientação a Objetos

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

Programação em Rede JDBC

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

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

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

Aula 1 Acesso a Banco de Dados

JDBC. Prof. Márcio Bueno

Desenvolvimento de Sistemas de Informação

Curso: Desenvolvimento Java

Drive MySql de conexão para Eclipse

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

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

Autenticação e Autorização

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

JDBC Java Database Connectivity

Programação com Acesso a Banco de Dados

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

Programação Orientada a Objetos II

Persistência Java para Web com MySQL

Persistência de Classes em Tabelas de Banco de Dados

Linguagens de Programaçã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 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

Desenvolvimento Web TCC Turma A-1

Leonardo Gresta Paulino Murta

Programação Orientada a Objetos (DPADF 0063)

JAVA JDBC Java Database Connectivity

Java na WEB 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

Acesso a Bancos de Dados em Java (JDBC)

JDBC. Java DataBase Connectivity

Java e Conexão com Banco de Dados

(UFF) JDBC (I) TEPIS II

Acessando dados em Java com JDBC

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

JDBC Acessando Banco de Dados

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

Programação Orientada a Objetos II

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

Banco de Dados. Sérgio Luiz Ruivace Cerqueira

Conectividade de Banco de Dados Java JDBC

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

JavaServer Faces JSF

Java - Conexão ao Banco de Dados usando JDBC

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

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

Java na Web. Aplicações Web

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

CONEXÃO JAVA - BANCO DE DADOS

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

JDBC - Java Data Base Connectivity

C# - Conexão com MySQL

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

Banco de Dados. Prof. Leonardo Barreto Campos 1

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

Aplicabilidade: visão geral

Noções sobre Objetos e Classes

JPA: Persistência padronizada em Java

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

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

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

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

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

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

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

Java com Banco de Dados Posgree

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

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

Java Beans e Servlets

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

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

Programação para Android. Aula 08: Persistência de dados SQL

Criando um aplicação simples com JAVA e MySQL usando NetBeans Parte I

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

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

Figura 1. A Classe Java

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

Android e Bancos de Dados

Prototype, um Design Patterns de Criação

Transcrição:

Especialização em web com interfaces ricas Acessando Bancos de Dados com Java Prof. Fabrízzio Alphonsus A. M. N. Soares fabrizzio@inf.ufg.br professor.fabrizzio@gmail.com Instituto de Informática Universidade Federal de Goiás Aula 4 25 de maio de 2012 Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 1/22

Bancos de Dados com Java Nesta aula você irá aprender os seguintes conceitos: Drivers para acesso a bancos de dados Objeto Connection Objeto Statement Objeto ResultSet Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 2/22

Drivers de Bancos de Dados I Um driver de banco de dados é um arquivo usado pelo programa para comunicar-se com o sistema de gerenciamento de banco de dados (DBMS). Cada fabricante de bancos de dados fornece seu driver compatível e portanto, em sua maioria, estes não acompanham o java. Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 3/22

Drivers de Bancos de Dados II Para isto, você pode obter o driver com o fabricante. No caso do Apache Derby, você tem duas opções de drivers: Driver embarcado (embedded) Este acompanha o mesmo JAR do banco de dados (derby.jar) Driver separado Este é utilizado quando utiliza-se o Apache Derby em modo cliente/servidor (derbyclient.jar) Em nosso caso, como a escolha das opções neste momento é irrelevante, utilizaremos o driver embedded. Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 4/22

Drivers de Bancos de Dados III Para utilizar o driver você deverá fornecer como parâmetro ao invocar o java. 1 java -classpath.:derby.jar MeuPrograma Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 5/22

Drivers de Bancos de Dados IV Para utilizar o driver em seu programa, você deverá solicitar ao java que carregue a classe do driver. Para isto utilize o seguinte código: 1 2 try { 3 4 Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); 5 6 } catch (ClassNotFoundException ex) { 7 System.out.println("Driver não encontrado!"); 8 } Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 6/22

Drivers de Bancos de Dados V Observe que a linha que carrega o driver está com tratamento da exceção ClassNotFoundException. Esta exceção é conhecida como driver não encontrado. É importantíssimo tratar esta exceção e impedir o programa de continuar, já que a falta do driver significará que o programa não tem outra coisa a fazer a não ser finalizar. Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 7/22

Conexão com o banco de dados I Agora que já carregamos o driver, já podemos estabelecer uma conexão com o banco de dados. Esta conexão é essencial para que possamos realizar operações no banco de dados como: insert, update, delete e select. Outras operações podem ser realizadas, mas por hora vamos nos ater às básicas. Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 8/22

Conexão com o banco de dados II Para estabelecer uma conexão, você deve solicitar uma usando a classe DriverManager (gerenciador de driver), e quando a conexão não for mais necessária você deverá fecha-la. 1 try { 2 3 Class.forName("org.apache.derby.jdbc.ClientDriver"); 4 5 Connection cn = DriverManager.getConnection("jdbc:derby:/ home/fabrizzio/javadb/bancos/meubanco"); 6 7 cn.close(); 8 9 } catch (SQLException ex) { 10 System.out.println("Erro de SQL"); 11 } catch (ClassNotFoundException ex) { 12 System.out.println("Driver não encontrado!"); 13 } Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 9/22

Conexão com o banco de dados III Observe que no parâmetro "jdbc:derby:/home/fabrizzio/javadb/bancos/meubanco" você deverá substituir pelo caminho completo do seu banco de dados. Observe ainda que, para utilizar as classes Connection, Drivermanager e SQLException será necessário importa-las. 1 import java.sql.connection; 2 import java.sql.drivermanager; 3 import java.sql.sqlexception; Por fim, a conexão criada é uma instância de Connection, e foi chamada de cn. Quando a conexão não for mais necessária você deverá encerra-la invocando seu método close. Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 10/22

Operações I Para realizar operações no banco de dados você deverá utilizar uma instância do tipo Statement. O Statement é obtido a partir da sua conexão com o banco de dados. Para isto faça: 1 Statement st = cn.createstatement(); Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 11/22

Operações II Para executar uma operação do tipo INSERT, UPDATE ou DELETE você deve invocar o método execute. 1 st.execute("insert into aluno (matricula, nome) 2 values (1, João )"); Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 12/22

Operações III E quando seu statement não for mais necessário você deve finaliza-lo. 1 st.close(); Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 13/22

Operações IV Um programa exemplo completo ficaria assim: 1 import java.sql.connection; 2 import java.sql.drivermanager; 3 import java.sql.sqlexception; 4 import java.sql.statement; 5 6 public class ExemploBD { 7 public static void main(string args[]){ 8 try { 9 Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); 10 Connection cn = DriverManager.getConnection("jdbc:derby:/home/fabrizzio/ javadb/bancos/meubanco"); 11 Statement st = cn.createstatement(); 12 st.execute("insert into aluno (matricula, nome) values (1, João )"); 13 st.close(); 14 cn.close(); 15 } catch (SQLException ex) { 16 System.out.println("Erro de SQL"); 17 } catch (ClassNotFoundException ex) { 18 System.out.println("Driver não encontrado!"); 19 } 20 } 21 } Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 14/22

Operações V Para executar uma operação diferente, você poderá substituir o parâmetro do método execute pelo comando SQL que você desejar. Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 15/22

Fazendo consultas com resultados I Para executar consultas com resultados, você utilizará ainda do Statement, porém, você deverá utilizar o método execute- Query(). Este método retornará um objeto do tipo ResultSet. Este objeto representa o conjunto de dados da sua consulta SQL. 1 ResultSet rs = st.executequery("select * from aluno"); Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 16/22

Fazendo consultas com resultados II Para acessar os dados retornados, você deverá utilizar os métodos get<tipo> do ResultSet. Onde <tipo> é o tipo de dado que você quer obter. Ex: getinteger(), getstring(),... Lembre-se: Você deverá importar o ResultSet para poder obter instâncias do seu tipo. 1 import java.sql.resultset; Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 17/22

Fazendo consultas com resultados III Não necessariamente este tipo precisa ser o mesmo do tipo armazenado no banco de dados, porém, se você usar um tipo diferente, você fará uma conversão de tipo. Se a conversão não for possível, irá gerar um erro. Ex: O tipo armazenado é uma string e você tenta usar um getinteger() porém o conteúdo não é um número inteiro. Novamente: quando o ResultSet não for mais necessário você deverá fecha-lo. Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 18/22

Exemplo de consulta I O código abaixo exemplifica programa que faz um select no banco de dados e exibe todos os resultados na tela. 1 import java.sql.*; 2 public class ExemploBD { 3 public static void main(string args[]){ 4 try { 5 Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); 6 Connection cn = DriverManager.getConnection("jdbc:derby:/home/fabrizzio/javadb/ bancos/meubanco"); 7 Statement st = cn.createstatement(); 8 ResultSet rs = st.executequery("select * from aluno"); 9 while(rs.next()){ 10 System.out.println("Matricula: " + rs.getstring("matricula")); 11 System.out.println("Nome: " + rs.getstring("nome")); 12 } 13 rs.close(); cn.close(); 14 } catch (SQLException ex) { 15 System.out.println("Erro de SQL"); 16 } catch (ClassNotFoundException ex) { 17 System.out.println("Driver não encontrado!"); 18 } 19 } 20 } Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 19/22

Exemplo de consulta II Observação: No código acima, foi realizada a importação usando o * apenas para que o código ficasse em um único slide. Utilize sempre as importações individuais. 1 import java.sql.connection; 2 import java.sql.drivermanager; 3 import java.sql.sqlexception; 4 import java.sql.statement; 5 import java.sql.resultset; Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 20/22

Exercício I 1 Crie um banco de dados 2 Crie uma tabela chamada cliente com a seguinte estrutura: matricula integer nome varchar(50) idade integer sexo char(1) 3 Faça dois programas em java: 1 Um para solicitar dados de clientes e cadastrar na tabela cliente; 2 Outro para listar os registros da tabela cliente; Para fazer os programas, utilize os códigos de exemplo desta aula. Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 21/22

Exercício II Este exercício deverá ser realizado e submetido via moodle até 27/10 (quinta-feira). Prof. Fabrízzio Alphonsus A. M. N. Soares Acessando Bancos de Dados com Java 22/22