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

Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmosMauro Pereira
 
Javascript (parte 1)
Javascript (parte 1)Javascript (parte 1)
Javascript (parte 1)Alex Camargo
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)Armando Daniel
 
Banco de Dados - Tipos de Dados
Banco de Dados - Tipos de DadosBanco de Dados - Tipos de Dados
Banco de Dados - Tipos de DadosNatanael Simões
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoLeinylson Fontinele
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLDaniel Brandão
 
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados RelacionaisBanco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados Relacionaisalexculpado
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Gustavo Zimmermann
 
06 Modelagem de banco de dados: Modelo Lógico
06  Modelagem de banco de dados: Modelo Lógico06  Modelagem de banco de dados: Modelo Lógico
06 Modelagem de banco de dados: Modelo LógicoCentro Paula Souza
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 

Tendances (20)

Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
 
Javascript (parte 1)
Javascript (parte 1)Javascript (parte 1)
Javascript (parte 1)
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
 
Banco de Dados - Tipos de Dados
Banco de Dados - Tipos de DadosBanco de Dados - Tipos de Dados
Banco de Dados - Tipos de Dados
 
Curso MySQL #03 - Criando um Banco de Dados MySQL
Curso MySQL #03 - Criando um Banco de Dados MySQLCurso MySQL #03 - Criando um Banco de Dados MySQL
Curso MySQL #03 - Criando um Banco de Dados MySQL
 
Curso javascript básico
Curso javascript básicoCurso javascript básico
Curso javascript básico
 
Introdução CSS
Introdução CSSIntrodução CSS
Introdução CSS
 
Curso MySQL #01 - Surgimento dos Bancos de Dados
Curso MySQL #01 - Surgimento dos Bancos de DadosCurso MySQL #01 - Surgimento dos Bancos de Dados
Curso MySQL #01 - Surgimento dos Bancos de Dados
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQL
 
Modulo 15 PSI
Modulo 15 PSIModulo 15 PSI
Modulo 15 PSI
 
Introdução a Bancos de Dados
Introdução a Bancos de DadosIntrodução a Bancos de Dados
Introdução a Bancos de Dados
 
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados RelacionaisBanco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
06 Modelagem de banco de dados: Modelo Lógico
06  Modelagem de banco de dados: Modelo Lógico06  Modelagem de banco de dados: Modelo Lógico
06 Modelagem de banco de dados: Modelo Lógico
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 

En vedette

Acesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBCAcesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBCLuiz Ricardo Silva
 
Bancode dados modelagem conceitual
Bancode dados modelagem conceitualBancode dados modelagem conceitual
Bancode dados modelagem conceitualMario Sergio
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à ProgramaçãoMario Sergio
 
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 1Pacc UAB
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 

En vedette (8)

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
 
Acesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBCAcesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBC
 
POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em JavaPOO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em 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

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 websilvio_sas
 
Curso de Java (Parte 5)
Curso de Java (Parte 5)Curso de Java (Parte 5)
Curso de Java (Parte 5)Mario Sergio
 
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 jdbcJeison Barros
 
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 7Claudio Martins
 
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...Professor Samuel Ribeiro
 
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-connectivityffeitosa
 
Java database connectivity jdbc
Java database connectivity   jdbcJava database connectivity   jdbc
Java database connectivity jdbcDinarte Filho
 
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çãocarlosveiga
 
Apresentação palestra ireport
Apresentação palestra ireportApresentação palestra ireport
Apresentação palestra ireportfpsgyn
 

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

Plus de Ludimila Monjardim Casagrande (20)

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 - 17 - Interfaces
POO - 17 - InterfacesPOO - 17 - Interfaces
POO - 17 - Interfaces
 
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 - 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
 
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 - 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
 

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