Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos

Slides:



Advertisements
Apresentações semelhantes
O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
Advertisements

Aula 3 – DB2 Express-C Autor:
JDBC Java Dababase Connectivity Marco Antonio, Arquiteto de Software – TJDF Atualizado em Novembro/2008.
Prof. Alessandro J. de Souza
Prof.: Bruno Rafael de Oliveira Rodrigues
Java Conexão com Banco de Dados
APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS ACESSO A BANCO DE DADOS COM O JDBC Prof. Thiago Pereira Rique
Sistemas de Informação Redes de Computadores
28.5 Instruções para instalar o MySQL e o MySQL Conector/J
Maurício Edgar Stivanello
Acessando resultados em JDBC zO objeto ResultSet consiste de linhas de dados organizados em colunas uniformes. zO programa em Java pode acessar somente.
Linguagens de Programação Orientadas a Objetos
Módulo I Interface com BancoDados JDBC
Introdução à Engenharia da Computação
Oficina sobre banco de dados
MySQL Gerdson de Araújo Silva Universidade Federal de Alagoas Maceió-AL, 21 de maio de 2009.
Introdução a JDBC Eduardo Martins Guerra Instituto Tecnológico de Aeronáutica Curso de Pós-Graduação em Engenharia de Software Programação Distribuída.
B ANCO DE D ADOS E JDBC Profa. Msc. Cintia Carvalho Oliveira Mestre em Ciência da Computação – UFU Bacharel em Ciência da Computação - UFJF 1.
Banco de dados Profª Kelly Medeiros.
Java & Bancos de Dados Universidade Salgado de Oliveira Goiânia
Java :: Persistência de Dados
Acesso a Base de Dados JDBC Trabalho Realizado por:
Conexão com Bancos de Dados Carlos Bazilio Depto de Ciência e Tecnologia Pólo Universitário de Rio das Ostras Universidade Federal Fluminense.
Conceitos de SGBD Objeto-Relacional Oracle 10g [2]
Integração com Banco de Dados
Programação Orientada a objetos II
Anexo A. JDBC  Conjunto de interfaces e classes java que faz envio de consultas para um banco de dados.  Objetos(tipos)  Conexão (Driver e Connection)
JSP / Servlets Avançado
P ROGRAMAÇÃO Prof.: Bruno Rafael de Oliveira Rodrigues.
Rafael Lucio, Desenvolvedor Jr Padrão Informática e Assessor de TI Secretaria Municipal da Saúde;
JDBC Java Database Connectivity. JDBC Especificação para uso de base de dados em aplicações e applets JAVA; API para uso de drivers JDBC; Compatível com.
Desnvolvimento de Projetos e Aplicações Web Ceça Moraes – Ceça.
Curso Programação – JAVA Centro de Formação São Domingos
Configuração do Ambiente de programação
Programação para Web Unidade 06 – Java Beans e BDs Prof.: Henrique Santos.
Projeto de Sistemas de Informação Prof. Schneider Oracle Object-Relational.
SQL- Structured Query Language  SQL é uma linguagem de comandos para interagir com uma BD relacional (não é case-sensitive).  A linguagem Java permite.
CURSO JAVA BÁSICO Módulo JDBC – slide 1 MóduloJDBC.
©Silberschatz, Korth and Sudarshan (modificado)4.1.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
Java Conexão com Baco de dados Saulo Bazzi Oberderfer Fonte:
Banco de Dados I I Comandos SQL
JDBC Java Database Connectivity docs/guide/jdbc/getstart/introTOC.doc.html.
Conceitos básicos Professor Esp. Diego André Sant’Ana
J AVA D ATABASE C ONNECTIVITY JDBC. JDBC O Java Database Connectivity (JDBC) API é o padrão da indústria para que aplicações Java acessem bancos de dados.
Leo Silva Leonardo Murta Luiz Viana Persistência em Java.
Java Acesso a Banco de Dados Prof. Marcos André Pisching, M.Sc.
Acesso a Banco de Dados com JDBC e DAO
Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados
Acessando banco de dados com JAVA.  Linguagem independente de plataforma; ◦ “Write once, run anywhere” ◦ JVM  Java Virtual Machine  Mecanismo que permite.
Desenvolvimento WEB II Professora: Kelly de Paula Cunha.
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para:
Trabalho Prático de Programação Orientada a Objetos em Java Programação Orientada a Objetos Ludimila Monjardim Casagrande 2011.
Linguagem de Programação de Banco de Dados Procedimentos Armazenados.
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
Provedor de Dados Instalação e Configuração João Lima.
V Seminário RSJUG Confraria do Java JavaDB Um Banco de Dados 100% Java Profa. Me. Karen Selbach Borges.
JavaServer Faces – JSF Fernando Freitas Costa Bacharel em Sistemas de Informação Especialista em Gestão e Docência Universitária blog.fimes.edu.br/fernando.
Programação para Internet Aula 06 Linguagem Java (Orientação a Objetos – Atributos e Métodos)
Persistência de dados e padrão DAO
Banco de Dados Relacionais. Tabelas DB Relacionais são baseados em tabelas As tabelas armazenam registros Cada registro ocupa uma linha da tabela Registros.
Normalização (4FN) Na literatura aparecem outras formas normais, como a forma normal de Boyce/Codd, a 4FN e a 5FN. Destas a única que tem importância na.
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
Application Server & EJB3 Wesley Gonçalves da Silva
Prof.: Jean Carlo Mendes
Persistência de dados e padrão DAO Padrões de Projeto Orientado a Objetos Profa. Danielle Martin/Mauricio Universidade de Mogi das Cruzes.
Banco de Dados para Redes– Aula 03 Prof. Me. Ronnison Reges Vidal.
PHP + MYSQL. Mysql O MySQL é servidor de banco de dados multiusuário, multitarefa que trabalha com uma das linguagens de manipulação de dados mais popularizadas.
Acesso a Banco de dados com JDBC
Transcrição da apresentação:

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JDBC Compreender os conceitos básicos da utilização do acesso a banco de dados via JDBC

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JDBC Conceitos; Arquitetura; Processo básico de utilização; Classes e interfaces JDBC; Exemplo prático;

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JDBC JDBC- Java Database Connectivity É um conjunto de interfaces definidas no Java para construção de componentes de acesso a bancos de dados. Esse conjunto de interfaces que devem ser implementadas por componentes de acesso a um determinado banco de dados.

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JDBC JDBC- Java Database Connectivity Com JDBC é possível construir uma aplicação Java para acesso a qualquer banco de dados SQL. JDBC é uma interface de nível de código: Código SQL é usado explicitamente dentro do código Java; O pacote java.sql consiste de um conjunto de classes e interfaces que permitem embutir código SQL em métodos

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JDBC Arquitetura JBDC: Aplicação JAVA Interface JDBC Implementação JDBC.BANCO SQL-Server, MySql, entre outros. SGBD

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JDBC Processo básico para utilizar o JDBC Carregar e registrar o driver JDBC junto ao Driver Manager; Configurar e obter uma conexão com o banco de dados; Preparar os dados para consulta (formatação, ordenação,...) e o próprio SQL; Executar a consulta; Obter e verificar os resultados; Tratar possíveis erros; Formatar a saída para o usuário; Ao finalizar a aplicação, fechar a conexão.

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JDBC - DriverManager e Driver A interface Driver é utilizada apenas pelas implementações de drivers JDBC: É preciso carregar a classe do driver na aplicação que irá utilizálo. Isto pode ser feito com Class.forName(): Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); A classe DriverManager manipula objetos do tipo Driver: Possui métodos para registrar drivers, removê-los ou listá-los;

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JDBC - DriverManager e Driver É usado para retornar Connection, que representa uma conexão a um banco de dados, a partir de uma URL JDBC recebida como parâmetro: Connection con = DriverManager.getConnection( "jdbc:odbc:aluguel","", ""); Nome do DSN registrado, se fizer conexão ODBC

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JDBC - Connection, ResultSet e Statement Connection : Representa uma conexão ao banco de dados, que é retornada pelo DriverManager na forma de um objeto. Sendo possíveis algumas operações: con.commit(); con.rollBack(); con.close();

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JDBC - Connection, ResultSet e Statement Statement: Oferece meios de passar instruções SQL para o sistema de banco de dados. Obtendo-se um objeto Connection, chamamos o seu método createStatement() para obter uma instância de uma classe que implementa a interface Statement: Statement stmt = con.createStatement(); A interface Statement é usada para executar comando SQL simples.

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JDBC - Connection, ResultSet e Statement Statement: Com um objeto do tipo Statement podemos utilizar os métodos execute, executeQuery e executeUpdate que são usados da seguinte maneira : stmt.execute( "CREATE TABLE produto(id_produto INT PRIMARY KEY, descricao CHAR(20), fabricante char(20)); ");

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JDBC - Connection, ResultSet e Statement Statement: int linhasModificadas = stmt.executeUpdate( " INSERT INTO produto (id_produto, descricao, fabricante) VALUES (1,‘PNEU',‘firestone’) "); O retorno do método indica o status da operação.

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JDBC - Connection, ResultSet e Statement Statement: Consultas que retornam dados são executadas usando o executeQuery: ResultSet rs = stmt.executeQuery("SELECT * FROM Produto");

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JDBC - Connection, ResultSet e Statement Comandos pré-compilados: O Statement pré-compilado que é mais eficiente quando várias consultas similares são enviadas com parâmetros diferentes Uma String com instrução SQL é preparada previamente, deixando-se "?" no lugar dos parâmetros. Parâmetros são inseridos em ordem, com setXXX() onde XXX é um tipo igual aos retornados pelos métodos de ResultSet.

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JDBC - Connection, ResultSet e Statement Comandos pré-compilados: String newSql = "INSERT INTO PRODUTO (nom_produto, des_produto, fornecedor) VALUES (?, ?, ?)"; PreparedStatement stmt1 = con.prepareStatement(newSql); stmt1.setString(1, "Monitor"); stmt1.setString(2,"Monitor LCD"); stmt1.setString(3, “SAMSUNG"); stmt1.executeUpdate();

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JDBC - Connection, ResultSet e Statement ResultSet: É um cursor para os dados recebidos. Conforme demonstrado, o método executeQuery() retorna um objeto do tipo ResultSet; Com esse cursor recuperado, pode-se então navegar pelas linhas da tabela e recuperar as informações armazenadas nas colunas solicitadas na consulta. Alguns métodos para navegação são: Next(); previous(); First() e last().

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JDBC - Connection, ResultSet e Statement ResultSet: Para obtenção dos dados são utilizados os seguintes métodos: getInt(); getString()... Ou seja, getXXX() onde XXXX é o tipo da informação recuperada.

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JDBC - Connection, ResultSet e Statement ResultSet: Supondo que em uma tabela exista 3 atributos: A Tabela Produtos que foi mostrado anteriormente. Então usaremos os métodos getInt() e o getString() objetoReultset.getInt(“ id_produto ”) objetoReultset.getString(“ descricao ”) objetoReultset.getString(“ fabricante ”)

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JDBC - Connection, ResultSet e Statement ResultSet: Os métodos getXXXX() possuem duas sobrecarga. Onde pode ser Passado como parâmetro o nome do atributo da tabela ou o número da ordem de criação do atributo (índice do atributo) objetoReultset.getInt(1) // Para o atributo id_produto objetoReultset.getString(2) // Para o atributo descricao objetoReultset.getString(3) // Para o atributo abricante

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JDBC - Connection, ResultSet e Statement Propriedades transacionais: Possibilita maior segurança na atualização dos dados. Temos que lançar a exceção ( throws SQLException ). Também fazer o tratamento de erro. connection.setAutoCommit(false); PreparedStatement pst = connection.prepareStatement( SuaQuery );.. pst.executeUpdate() //Várias alterações no BD.... connection.commit(); ou connection.rollback();

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos JDBC - Connection, ResultSet e Statement Propriedades transacionais: String sql = "INSERT INTO clientes (NOME, ENDERECO, BAIRRO, CIDADE) VALUES (?, ?, ?, ?)"; try { connection.setAutoCommit(false); PreparedStatement pst = connection.prepareStatement( sql ); pst.setString(1, "Carlos Teste 1"); pst.setString(2,"Endereço de Carlos Teste 1"); pst.setString(3,"Bairro Carlos Teste 1"); pst.setString(4,"Cidade Carlos Teste 1"); pst.executeUpdate(); sql = "UPDATE clientes SET NOME=? WHERE Codigo=?"; pst = connection.prepareStatement( sql ); pst.setString(1, "Jorge"); pst.setInt(2, 4); pst.executeUpdate(); connection.commit(); pst.close(); } catch(SQLException e) { System.err.println ("\nError Menssage: " + e.getMessage()); connection.rollback(); } Faz duas alterações no banco de dados. Só então, caso não haja erros ele Confirma todas al alterações, de fato, no banco Caso ocorra algum erro ele desfaz as alterações, voltando ao estado, seguro, original