15
Java e Bancos de Dados Relacionais Fundamentos da Linguagem Java Ludimila Monjardim Casagrande 2012

POO - 21 - Java e Banco de Dados

Embed Size (px)

Citation preview

Page 1: POO - 21 - Java e Banco de Dados

Java e Bancos de Dados Relacionais

Fundamentos da Linguagem Java

Ludimila Monjardim Casagrande 2012

Page 2: POO - 21 - Java e Banco de Dados

Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 2

Arquitetura de Software

Camada de Apresentação

Camada de Negócios

Camada Persistente

Banco de Dados C

lasses U

tilit

árias

Aplicação

Orientada

a Objetos

Banco de

Dados

Relacional

Page 3: POO - 21 - Java e Banco de Dados

Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 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.

Page 4: POO - 21 - Java e Banco de Dados

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

Page 5: POO - 21 - Java e Banco de Dados

Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 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.

Page 6: POO - 21 - Java e Banco de Dados

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

Page 7: POO - 21 - Java e Banco de Dados

Exemplo de Script SQL

Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 7

-- 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);

Page 8: POO - 21 - Java e Banco de Dados

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

Page 9: POO - 21 - Java e Banco de Dados

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

Page 10: POO - 21 - Java e Banco de Dados

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

Page 11: POO - 21 - Java e Banco de Dados

Exemplo: Classe DBConnection

Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 11

Page 12: POO - 21 - Java e Banco de Dados

Exemplo: Classe UsuarioDAOMySQL

Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 12

Método de inserção

com uso de

PreparedStatement

Page 13: POO - 21 - Java e Banco de Dados

Exemplo: Classe UsuarioDAOMySQL

Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 13

Método de seleção

com uso de

PreparedStatement

Page 14: POO - 21 - Java e Banco de Dados

Exemplo de Uso de Statement

Java e Banco de Dados ©2012 Ludimila Monjardim Casagrande 14

Exemplo de uso da

classe Statement

ao invés de

PreparedStatement

no método de seleção