CONEXÃO JAVA - BANCO DE DADOS

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

Programação Orientada a Objetos JDBC Java Database Connectivity

Integrando Java com Banco de Dados

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

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

Programação com Acesso a Banco de Dados

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

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.

JDBC - Java Data Base Connectivity

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

Programação Orientada a Objetos II

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

Aula 1 Acesso a Banco de Dados

Java e Conexão com Banco de Dados

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 09a- Acessando os dados através JDBC

Acesso a Bancos de Dados em Java (JDBC)

Java - Conexão ao Banco de Dados usando 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

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

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

Desenvolvimento de Sistemas de Informação

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

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

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

Módulo 5 - JDBC java.sql - Conexão 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

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

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

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

Módulo I Interface com BancoDados JDBC

JAVA JDBC Java Database Connectivity

Código-Fonte da Prática 02

Conectividade de Banco de Dados Java JDBC

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

Especialização em web com interfaces ricas

JDBC Acessando Banco de Dados

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

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

Acesso a banco de dados

JDBC. Java DataBase Connectivity

Banco de Dados. Sérgio Luiz Ruivace Cerqueira

Java 2 Standard Edition Fundamentos de

Acessando dados em Java com JDBC

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

Desenvolvimento Web TCC Turma A-1

Leonardo Gresta Paulino Murta

Exercícios de fixação: Listas

Desenvolvimento de Aplicaçõ. ções em Java

(UFF) JDBC (I) TEPIS II

JDBC - Java Data Base Connectivity

Projeto Final Curso de Java Básico

Como criar um banco de dados usando o mysql

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

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

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

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

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

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 Banco. Conexão em Java. Conexão em Java. Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel

JavaServer Faces JSF

Acessando bancos de dados com o JDBC

Programação em Rede JDBC

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

JPA: Persistência padronizada em Java

BD II (SI 587) Programação SQL. Prof. Josenildo Silva.

Linguagens de Programação

Conexão do Banco de Dados localhost

JDBC. Prof. Márcio Bueno

Programação Orientada a Objetos (DPADF 0063)

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

Estrutura do Projeto - Trabalhando com Banco de Dados

Aula 4 JDBC - Java Database Connectivity

Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos

Curso: Desenvolvimento Java

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

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

Java na WEB Banco de Dados

Persistência Java para Web com MySQL

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

Tecnologias Java JDBC. Marcio Seiji Oyamada

Transcrição:

CONEXÃO JAVA - BANCO DE DADOS RAQUEL, HEITOR, TIAGO, GEWTON Instituição Federal do Rio Grande do Norte- www.cefetrn.br

JDBC JAVA DATABASE CONNECTIVITY

INTRODUÇÃO API JDBC possibilita ao programador de aplicações Java abrir conexões com um SGBD, consultar e modificar algum BD, utilizando a linguagem SQL. Características: Portabilidade API independente do Banco de Dados

PADRÃO JDBC DE ACESSO A BASES DE DADO API de acesso para executar comandos SQL Implementa as interfaces do pacote padrão java.sql Envio para qualquer tipo de Banco de Dados relacional Independente de API/Linguagem proprietária dos fabricantes de SGBD (Microsoft, Oracle, Informix, ) Uso de drivers específicos de fabricantes

ARQUITETURA JDBC

ARQUITETURA JDBC Aplicações Java conversam com o Gerenciador de Drivers JDBC (DriverManager) Este, por sua vez, se comunica com algum driver atualmente carregado. Programador se preocupa apenas com API do gerenciador de drivers. Drivers se ocupam da interface com o SGBD. Ponte JDBC pode ser usada se não existir um driver para um determinado SGBD.

Arquitetura de Desenvolvimento JDBC

IMPLEMENTAÇÃO O pacote JDBC vêm incluso com as distribuições Java As classes que compões o kit JDBC estão nos pacotes java.sq e javax.sql. Classes do pacote java.sql: Connection; Statement; PreparedStatement; CallableStatement; ResultSet; Driver Deve-se obter um driver para o sistema de gerência de banco de dados a ser utilizado. O URL a seguir fornece uma lista de drivers JDBC atualmente disponíveis: http://industry.java.sun.com/products/jdbc/drivers

CLASSES PRINCIPAIS java.sql.drivermanager Provê serviços básicos para gerenciar diversos drivers JDBC java.sql.connection Representa uma conexão estabelecida com o BD. java.sql.statement Representa sentenças onde são inseridos os comandos SQL Permite realizar todo o tratamento das consultas (select) e dos comandos de atualizações (insert, delete, update) java.sql.resultset Representa o conjunto de registros resultante de uma consulta. Permite manipular os resultados Java e SQL Colunas de um objeto ResultSet podem ser referenciadas por um número posicional ou pelo nome da coluna do resultado. ResultSet rs.getstring("nome") ou ResultSet rs.getstring(1)

PASSO-A-PASSO Carregar o Driver para a memória definir a URL de conexão com o repositório Estabelecer a conexão com o repositório Criar um objeto do tipo Statement Executar uma consulta (recuperar, atualizar, incluir) Com o resultado, executar um processamento Fechar a conexão

DRIVER Implementa a interface Driver Todo driver, ao ser carregado, se cadastra junto ao DriverManager através de um inicializador estático. Basta carregar a classe que o driver estará disponível para uso Podemos fazer isso explicitamente : void carregadrivers() throws ClassNotFoundException { Class.forName("org.postgresql.Driver");... }

CARREGA DRIVE

OBTENDO CONEXÃO O argumento para o método getconnection tem um formato similar ao de uma URL jdbc:<subprotocolo>:<subnome> Jdbc: Protocolo: JDBC é o único valor possível subprotocolo: identifica um driver de BD Subnome: indica a localização e nome do BD a ser acessado. Sintaxe é própria de cada driver Use o método: String url ="jdbc:mysql://localhost:3306/empresa"; DriverManager.getConnection(url, usuario, senha); "jdbc:postgresql://servername/mydatabase"

ABRINDO CONEXÃO try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection com = DriverManager.getConnection("jdbc:odbc:Northwind","","");...// Código de manipulação do BD } catch (ClassNotFoundException e) { System.out.println("Classe não Encontrada!"); } catch (SQLException e) { } System.out.println("Erro na Conexão!");

CRIANDO COMANDOS SQL Classe Connection: implementa a interface Connection A partir de uma conexão, podemos: criar comandos SQL (de diferentes formas) configurar características da conexão, como: controle de transações Criando comandos SQL Class.forName("org.postgresql.Driver"); Connection conn = DriverManager.getConnection("jdbc:postgresql:usuarios"); Statement stat = conn.createstatement(); // stat pode ser utilizado para enviar comandos // SQL à base de dados

CRIANDO COMANDOS SQL(CONT.) Métodos void setautocommit(boolean ac) throws SQLException void commit() throws SQLException void rollback() throws SQLException void close() throws SQLException

ENVIANDO COMANDOS SQL Statement - envia texto SQL ao servidor Comandos diretos Podem ser diretamente enviados à base através de um objeto que implemente a interface Statement Comandos DDL, de atualização da base e de consulta são aceitos Statement Um objeto da classe Statement é uma espécie de canal que envia comandos SQL através de uma conexão O mesmo Statement pode enviar vários comandos Para se criar um Statement, é preciso ter criado anteriormente um objeto Connection. A partir de uma conexão, pode-se criar diversos objetos Statement.

ENVIANDO COMANDOS SQL(CONT) Métodos ResultSet executequery(string sql)throws SQLException int executeupdate(string sql) throws SQLException boolean execute(string sql) throws SQLException ResultSet getresultset() throws SQLException int getupdatecount() throws SQLException boolean getmoreresults() throws SQLException

EXECULTANDO STATEMENT Há dois métodos da classe Statement para envio de comandos ao SGBD. Modificações: executeupdate Para comandos SQL INSERT, UPDATE, DELETE, ou outros que alterem a base e não retornem dados Forma geral: executeupdate(<comando>) Ex: stmt.executeupdate("delete FROM Cliente"); Esse método retorna um inteiro: quantas linhas foram atingidas. Consultas: executequery Para comandos SELECT ou outros que retornem dados Forma geral: stmt.executequery(<comando>); Esse método retorna um objeto da classe ResultSet Ex: rs = stmt.executequery("select * FROM Cliente");

MANIPULANDO UM OBJETO RESULTSET Métodos getxxx Recuperam um dado de acordo com o tipo Formas: rs.getxxx(<nome do campo>) ou rs.getxxx(<posição do campo >) Exemplo:rs. getstring( nm_cliente ) ou rs.getstring(2) Método next(), previous() - retornam para o próximo registro no conjunto ou para o anterior. Retornam valor lógico. Valor de retorno true indica que há outros registros. Métodos first(), last() - posicionam o cursor no início ou no final do conjunto de dados. Métodos isfirst(), islast() - testam a posição do cursor; retorna valor lógico.

EQUIVALÊNCIA DE TIPOS JAVAXSQL

OBTENÇÃO DO RESULTADO Representado por um ResultSet Linhas são acessadas em sequência São invalidados quando seu Statement for: Fechado; re-executado; usado para obter o próximo resultado de uma Série; Métodos: public abstract boolean next() throws SQLException public abstract void close() throws SQLException public abstract boolean getboolean(int columnindex) throws SQLException public abstract boolean getboolean(string columnname) throws SQLException... public abstract InputStream getasciistream(int columnindex) throws SQLException public abstract int findcolumn(string columnname) throws SQLException

EXEMPLO DE CONSULTA import java.sql.*; import java.io.*; public class Consulta{ public static void main(string args[]) throws IOException{ String comando="select * FROM FONES" ; try{ Connection con; Class.forName("com.ashna.jturbo.driver.Driver"); con=drivermanager.getconnection ("jdbc:jturbo://rubi/javadb", "sa",""); System.out.println("Conectado OK"); Statement st = con.createstatement(); ResultSet rs = st.executequery(comando); while (rs.next()) { System.out.println("Nome: "+rs.getstring(1)+" Fone: "+rs.getstring(2)); } st.close(); con.close(); } catch(sqlexception e){ System.out.println("Erro no SQL!"); return; } catch(classnotfoundexception e){ System.out.println("Driver não Encontrada!"); return; } System.in.read(); } }

EXEMPLO DE INSERÇÃO

FECHANDO A CONEXÃO Uma conexão aberta custa caro para o sistema Este recurso deve ser liberado e dependendo do repositório é esperado outros comandos para encerrar a conexão Método: connection.close();

CONCLUSÕES Novos padrões: JPA (Java Persistence API)- é um framework utilizado na camada de persistência para o desenvolvedor ter uma maior produtividade, com impacto principal num modo para controlarmos a persistência dentro de Java. Pela primeira vez, nós, desenvolvedores temos um modo "padrão" para mapear nossos objetos para os do Banco de Dados.

REFERÊNCIAS BIBLIOGRÁFICAS http://www.tecgraf.puc-rio.br/~ismael/cursos/x http://www.devmedia.com.br/articles/viewcom http://www.cefetrn.br/~minora/jdbc/doku.php http://java.sun.com/javase/technologies/datab