SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
Fundamentos da Linguagem Java




 Java e Bancos de Dados Relacionais




           Ludimila Monjardim Casagrande
                       2012
Arquitetura de Software

                  Camada de Apresentação




                                                                   Classes Utilitárias
                                                                                         Aplicação
                                                                                         Orientada
                        Camada de Negócios
                                                                                         a Objetos



                        Camada Persistente

                                                                                         Banco de
                                                                                         Dados
                          Banco de Dados                                                 Relacional



Java e Banco de Dados              ©2012 Ludimila Monjardim Casagrande                                2
JDBC

      Uma das formas de uma aplicação Java comunicar-
         se com um banco de dados relacional é pelo uso da
         API do JDBC (Java DataBase Connectivity)
            http://java.sun.com/javase/6/docs/technotes/guides/jdbc/

      A API (Application Program Interface) inclui a
         definição de interfaces tais como Driver,
         Connection, ResultSet, PreparedStatement e
         SQLData, entre outras.




Java e Banco de Dados       ©2012 Ludimila Monjardim Casagrande         3
Usando BD Relacional e Java

      1º Passo:
            Configuração de um driver JDBC
                  Ex.: mysql-connector-java-5.0.3-bin.jar
      2º Passo:
            Elaboração e execução de um script SQL para a
             criação do banco de dados relacional e das
             tabelas.




Java e Banco de Dados         ©2012 Ludimila Monjardim Casagrande   4
Configuração do Driver no Eclipse

      Nas propriedades do projeto Project >
         Properties > Java Build Path incluir em
         bibliotecas (Libraries) o .jar do driver apropriado
         para conexão com o banco (opção Add JARs ou
         Add External JARs).

      Recomenda-se colocar os arquivos .jar
         utilizados pelos projetos Java em um
         subdiretório denominado lib.


Java e Banco de Dados   ©2012 Ludimila Monjardim Casagrande    5
Configuração do Driver no NetBeans
      Clicar com o botão direito na pasta Bibliotecas
         existente dentro do seu projeto, selecionar a
         opção Adicionar JAR/pasta... e, em seguida,
         selecionar o diretório onde o arquivo mysql-
         connector-java-5.0.3-bin.jar está salvo.




Java e Banco de Dados   ©2012 Ludimila Monjardim Casagrande   6
Exemplo de Script SQL
  -- Exclui o banco de dados cadastro caso ele exista
  DROP DATABASE IF EXISTS cadastro;
  -- Cria o banco de dados cadastro
  CREATE DATABASE cadastro;
  -- Seleciona o banco de dados cadastro para uso
  USE cadastro;
  -- Cria a tabela usuario no banco de dados selecionado
  CREATE TABLE usuario (
          login VARCHAR(20) PRIMARY KEY NOT NULL,
          nome VARCHAR(150) NOT NULL,
          senha VARCHAR(10) NOT NULL);

Java e Banco de Dados   ©2012 Ludimila Monjardim Casagrande   7
Usando BD Relacional e Java

      3º Passo: Na implementação:
            Construir as classes correspondentes aos dados
             persistentes (classe Usuario, por exemplo).
            Carregar o driver JDBC:
                  Exemplos:
                  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                  Class.forName("com.mysql.jdbc.Driver");




Java e Banco de Dados          ©2012 Ludimila Monjardim Casagrande   8
Usando BD Relacional e Java

          Estabelecer a conexão com o banco informando o
           seu nome e localização:
                String url = "jdbc:mysql://localhost/cadastro";
                 Connection con = DriverManager.getConnection(url,
                      “root", “salesiano");
                  ou
                String url = "jdbc:mysql://localhost/cadastro?" +
                               "user=root&password=salesiano ";
                 Connection con = DriverManager.getConnection(url);



Java e Banco de Dados       ©2012 Ludimila Monjardim Casagrande       9
Usando BD Relacional e Java

            Construir e executar os statements:
                  String sql = “insert into usuario values (...)”;
                  PreparedStatement stm = connection.prepareStatement(sql);
                  statement.execute();
            Confirmar ou cancelar uma transação e depois
             fechar a conexão:
                  connection.commit(); ou
                  connection.rollback();
                  connection.close();




Java e Banco de Dados             ©2012 Ludimila Monjardim Casagrande          10
Exemplo: Classe DBConnection




Java e Banco de Dados   ©2012 Ludimila Monjardim Casagrande   11
Exemplo: Classe UsuarioDAOMySQL


                                                              Método de inserção
                                                              com uso de
                                                              PreparedStatement




Java e Banco de Dados   ©2012 Ludimila Monjardim Casagrande                        12
Exemplo: Classe UsuarioDAOMySQL


                                                              Método de seleção
                                                              com uso de
                                                              PreparedStatement




Java e Banco de Dados   ©2012 Ludimila Monjardim Casagrande                       13
Exemplo de Uso de Statement



                                                              Exemplo de uso da
                                                              classe Statement
                                                              ao invés de
                                                              PreparedStatement
                                                              no método de seleção




Java e Banco de Dados   ©2012 Ludimila Monjardim Casagrande                          14
Leitura Recomendada

      Tutoriais do JDBC:
            Mais detalhes podem ser obtidos nos tutoriais:
           http://java.sun.com/docs/books/tutorial/jdbc/basics/index.html

           http://java.sun.com/j2se/1.5.0/docs/guide/jdbc/getstart/Getting
           StartedTOC.fm.html

      Capítulo 2 – JBDC – Apostila Caelum.
         http://www.caelum.com.br/downloads/apostila/caelum-java-
         web-fj21.pdf



Java e Banco de Dados         ©2012 Ludimila Monjardim Casagrande            15

Contenu connexe

Tendances

Tendances (20)

POO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - DatasPOO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - Datas
 
[Curso Java Basico] Aula 23: Como debugar no Netbeans
[Curso Java Basico] Aula 23: Como debugar no Netbeans[Curso Java Basico] Aula 23: Como debugar no Netbeans
[Curso Java Basico] Aula 23: Como debugar no Netbeans
 
Spring Boot in Action
Spring Boot in Action Spring Boot in Action
Spring Boot in Action
 
Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)
 
POO - 17 - Interfaces
POO - 17 - InterfacesPOO - 17 - Interfaces
POO - 17 - Interfaces
 
Advance Java Tutorial | J2EE, Java Servlets, JSP, JDBC | Java Certification T...
Advance Java Tutorial | J2EE, Java Servlets, JSP, JDBC | Java Certification T...Advance Java Tutorial | J2EE, Java Servlets, JSP, JDBC | Java Certification T...
Advance Java Tutorial | J2EE, Java Servlets, JSP, JDBC | Java Certification T...
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
 
Java database connectivity with MYSQL
Java database connectivity with MYSQLJava database connectivity with MYSQL
Java database connectivity with MYSQL
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
Node.js e Express
Node.js e ExpressNode.js e Express
Node.js e Express
 
Workshop 22: React-Redux Middleware
Workshop 22: React-Redux MiddlewareWorkshop 22: React-Redux Middleware
Workshop 22: React-Redux Middleware
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
POO - 11 - Prática de Herança
POO - 11 - Prática de HerançaPOO - 11 - Prática de Herança
POO - 11 - Prática de Herança
 
Fundamentos de JDBC
Fundamentos de JDBCFundamentos de JDBC
Fundamentos de JDBC
 
Spring framework core
Spring framework coreSpring framework core
Spring framework core
 
Java modulo 01 - Introdução
Java modulo 01 - IntroduçãoJava modulo 01 - Introdução
Java modulo 01 - Introdução
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
BD I - Aula 08 A - Algebra Relacional
BD I - Aula 08 A - Algebra RelacionalBD I - Aula 08 A - Algebra Relacional
BD I - Aula 08 A - Algebra Relacional
 

En vedette (6)

CONEXÃO BANCO DE DADOS MYSQL COM JAVA
CONEXÃO BANCO DE DADOS MYSQL  COM JAVACONEXÃO BANCO DE DADOS MYSQL  COM JAVA
CONEXÃO BANCO DE DADOS MYSQL COM JAVA
 
Java 00 Poo
Java 00 PooJava 00 Poo
Java 00 Poo
 
Bancode dados modelagem conceitual
Bancode dados modelagem conceitualBancode dados modelagem conceitual
Bancode dados modelagem conceitual
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1Aula 5 - Estruturas de seleção simples e composta - parte 1
Aula 5 - Estruturas de seleção simples e composta - parte 1
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 

Similaire à POO - 21 - Java e Banco de Dados

Silo.tips aula 4-jdbc-java-database-connectivity
Silo.tips aula 4-jdbc-java-database-connectivitySilo.tips aula 4-jdbc-java-database-connectivity
Silo.tips aula 4-jdbc-java-database-connectivity
ffeitosa
 

Similaire à POO - 21 - Java e Banco de Dados (20)

1 jdbc
1 jdbc1 jdbc
1 jdbc
 
1 jdbc
1 jdbc1 jdbc
1 jdbc
 
Bancos de dados e jdbc java para desenvolvimento web
Bancos de dados e jdbc   java para desenvolvimento webBancos de dados e jdbc   java para desenvolvimento web
Bancos de dados e jdbc java para desenvolvimento web
 
Curso de Java (Parte 5)
Curso de Java (Parte 5)Curso de Java (Parte 5)
Curso de Java (Parte 5)
 
Conectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbcConectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbc
 
Persistência com JPA usando o NetBeans 7
Persistência com JPA usando o NetBeans 7Persistência com JPA usando o NetBeans 7
Persistência com JPA usando o NetBeans 7
 
Introdução à programação para web com Java - Módulo 01: Conexão com bamco de...
Introdução à programação para web com Java -  Módulo 01: Conexão com bamco de...Introdução à programação para web com Java -  Módulo 01: Conexão com bamco de...
Introdução à programação para web com Java - Módulo 01: Conexão com bamco de...
 
Jdbc
JdbcJdbc
Jdbc
 
Silo.tips aula 4-jdbc-java-database-connectivity
Silo.tips aula 4-jdbc-java-database-connectivitySilo.tips aula 4-jdbc-java-database-connectivity
Silo.tips aula 4-jdbc-java-database-connectivity
 
Java database connectivity jdbc
Java database connectivity   jdbcJava database connectivity   jdbc
Java database connectivity jdbc
 
Fundamentos de JDBC
Fundamentos de JDBCFundamentos de JDBC
Fundamentos de JDBC
 
Fundamentos de JDBC
Fundamentos de JDBCFundamentos de JDBC
Fundamentos de JDBC
 
Conceitos de Java Web
Conceitos de Java WebConceitos de Java Web
Conceitos de Java Web
 
Java 16 Jdbc
Java 16 JdbcJava 16 Jdbc
Java 16 Jdbc
 
Camadas
CamadasCamadas
Camadas
 
Jsf
JsfJsf
Jsf
 
Data accesss conect
Data accesss conectData accesss conect
Data accesss conect
 
Dao
DaoDao
Dao
 
Trabalho teorico de Linguagem de Programação
Trabalho teorico de Linguagem de ProgramaçãoTrabalho teorico de Linguagem de Programação
Trabalho teorico de Linguagem de Programação
 
Apresentação palestra ireport
Apresentação palestra ireportApresentação palestra ireport
Apresentação palestra ireport
 

Plus de Ludimila Monjardim Casagrande

POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosPOO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
Ludimila Monjardim Casagrande
 

Plus de Ludimila Monjardim Casagrande (19)

Gerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com ScrumGerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com Scrum
 
POO - 23 - Coleções da API do Java
POO -  23 - Coleções da API do Java POO -  23 - Coleções da API do Java
POO - 23 - Coleções da API do Java
 
POO - 20 - Wrapper Classes
POO - 20 - Wrapper ClassesPOO - 20 - Wrapper Classes
POO - 20 - Wrapper Classes
 
POO - 19 - Elementos Estáticos
POO - 19 - Elementos EstáticosPOO - 19 - Elementos Estáticos
POO - 19 - Elementos Estáticos
 
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de MétodosPOO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de Métodos
 
POO - 16 - Polimorfismo
POO - 16 - PolimorfismoPOO - 16 - Polimorfismo
POO - 16 - Polimorfismo
 
POO - 15 - Passagem de Argumentos
POO - 15 - Passagem de ArgumentosPOO - 15 - Passagem de Argumentos
POO - 15 - Passagem de Argumentos
 
POO - 14 - Vetores
POO - 14 - VetoresPOO - 14 - Vetores
POO - 14 - Vetores
 
POO - 13 - Arrays em Java
POO - 13 - Arrays em JavaPOO - 13 - Arrays em Java
POO - 13 - Arrays em Java
 
POO - 12 - A Classe Object
POO - 12 - A Classe ObjectPOO - 12 - A Classe Object
POO - 12 - A Classe Object
 
POO - 10 - Herança
POO - 10 - HerançaPOO - 10 - Herança
POO - 10 - Herança
 
POO - 09 - Entradas e Saídas em Java
POO - 09 - Entradas e Saídas em JavaPOO - 09 - Entradas e Saídas em Java
POO - 09 - Entradas e Saídas em Java
 
POO - 08 - Prática de Encapsulamento
POO - 08 - Prática de EncapsulamentoPOO - 08 - Prática de Encapsulamento
POO - 08 - Prática de Encapsulamento
 
POO - 07 - Operadores do Java
POO - 07 - Operadores do  JavaPOO - 07 - Operadores do  Java
POO - 07 - Operadores do Java
 
POO - 05 - Ambiente de Desenvolvimento
POO - 05 - Ambiente de DesenvolvimentoPOO - 05 - Ambiente de Desenvolvimento
POO - 05 - Ambiente de Desenvolvimento
 
POO - 04 - Variávies em Java
POO - 04 - Variávies em JavaPOO - 04 - Variávies em Java
POO - 04 - Variávies em Java
 
POO - 06 - Encapsulamento
POO - 06 - EncapsulamentoPOO - 06 - Encapsulamento
POO - 06 - Encapsulamento
 
POO - 03 - Alocação de Memória em Java
POO - 03 - Alocação de Memória em JavaPOO - 03 - Alocação de Memória em Java
POO - 03 - Alocação de Memória em Java
 
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosPOO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
 

Dernier

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Dernier (6)

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

POO - 21 - Java e Banco de Dados

  • 1. Fundamentos da Linguagem Java Java e Bancos de Dados Relacionais Ludimila Monjardim Casagrande 2012
  • 2. Arquitetura de Software Camada de Apresentação Classes Utilitárias Aplicação Orientada Camada de Negócios a Objetos Camada Persistente Banco de Dados Banco de Dados Relacional Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 2
  • 3. JDBC  Uma das formas de uma aplicação Java comunicar- se com um banco de dados relacional é pelo uso da API do JDBC (Java DataBase Connectivity)  http://java.sun.com/javase/6/docs/technotes/guides/jdbc/  A API (Application Program Interface) inclui a definição de interfaces tais como Driver, Connection, ResultSet, PreparedStatement e SQLData, entre outras. Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 3
  • 4. Usando BD Relacional e Java  1º Passo:  Configuração de um driver JDBC  Ex.: mysql-connector-java-5.0.3-bin.jar  2º Passo:  Elaboração e execução de um script SQL para a criação do banco de dados relacional e das tabelas. Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 4
  • 5. Configuração do Driver no Eclipse  Nas propriedades do projeto Project > Properties > Java Build Path incluir em bibliotecas (Libraries) o .jar do driver apropriado para conexão com o banco (opção Add JARs ou Add External JARs).  Recomenda-se colocar os arquivos .jar utilizados pelos projetos Java em um subdiretório denominado lib. Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 5
  • 6. Configuração do Driver no NetBeans  Clicar com o botão direito na pasta Bibliotecas existente dentro do seu projeto, selecionar a opção Adicionar JAR/pasta... e, em seguida, selecionar o diretório onde o arquivo mysql- connector-java-5.0.3-bin.jar está salvo. Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 6
  • 7. Exemplo de Script SQL -- Exclui o banco de dados cadastro caso ele exista DROP DATABASE IF EXISTS cadastro; -- Cria o banco de dados cadastro CREATE DATABASE cadastro; -- Seleciona o banco de dados cadastro para uso USE cadastro; -- Cria a tabela usuario no banco de dados selecionado CREATE TABLE usuario ( login VARCHAR(20) PRIMARY KEY NOT NULL, nome VARCHAR(150) NOT NULL, senha VARCHAR(10) NOT NULL); Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 7
  • 8. Usando BD Relacional e Java  3º Passo: Na implementação:  Construir as classes correspondentes aos dados persistentes (classe Usuario, por exemplo).  Carregar o driver JDBC:  Exemplos:  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  Class.forName("com.mysql.jdbc.Driver"); Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 8
  • 9. Usando BD Relacional e Java  Estabelecer a conexão com o banco informando o seu nome e localização:  String url = "jdbc:mysql://localhost/cadastro"; Connection con = DriverManager.getConnection(url, “root", “salesiano"); ou  String url = "jdbc:mysql://localhost/cadastro?" + "user=root&password=salesiano "; Connection con = DriverManager.getConnection(url); Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 9
  • 10. Usando BD Relacional e Java  Construir e executar os statements:  String sql = “insert into usuario values (...)”;  PreparedStatement stm = connection.prepareStatement(sql);  statement.execute();  Confirmar ou cancelar uma transação e depois fechar a conexão:  connection.commit(); ou  connection.rollback();  connection.close(); Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 10
  • 11. Exemplo: Classe DBConnection Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 11
  • 12. Exemplo: Classe UsuarioDAOMySQL Método de inserção com uso de PreparedStatement Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 12
  • 13. Exemplo: Classe UsuarioDAOMySQL Método de seleção com uso de PreparedStatement Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 13
  • 14. Exemplo de Uso de Statement Exemplo de uso da classe Statement ao invés de PreparedStatement no método de seleção Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 14
  • 15. Leitura Recomendada  Tutoriais do JDBC:  Mais detalhes podem ser obtidos nos tutoriais: http://java.sun.com/docs/books/tutorial/jdbc/basics/index.html http://java.sun.com/j2se/1.5.0/docs/guide/jdbc/getstart/Getting StartedTOC.fm.html  Capítulo 2 – JBDC – Apostila Caelum. http://www.caelum.com.br/downloads/apostila/caelum-java- web-fj21.pdf Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 15