1 jdbc

8

Click here to load reader

Upload: lukinha92

Post on 09-Jul-2015

308 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 jdbc

Programação II - Prof. Fernando dos Santos

Java DataBase Connectivity (JDBC)

Fernando dos [email protected]@udesc.br

Page 2: 1 jdbc

Programação II - Prof. Fernando dos Santos

Java DataBase Connectivity (JDBC)

• JDBC é uma API Java para acesso à banco de dados.• O JDBC define um conjunto de classes e métodos para

estabelecer conexão com um banco e executar comandos SQL.estabelecer conexão com um banco e executar comandos SQL.• Cada fabricante (Oracle, MySQL, etc) fornece uma

implementação específica para uso com o banco – Driver JDBC.

JDBC APIAplicação A Aplicação B

JavaJDBC Driver

Manager

JDBC Driver

JDBC

Oracle MySQL

Java

Fabricante

Page 3: 1 jdbc

Programação II - Prof. Fernando dos Santos

JDBC Driver

• É a implementação da JDBC API, disponibilizada pelo fabricante do banco de dados, para conectar no banco e executar SQL.

• É disponibilizado em um arquivo jar, que deve ser incluido como • É disponibilizado em um arquivo jar, que deve ser incluido como uma biblioteca na aplicação.

• O driver específico do banco é carregado na aplicação, para depois ser utilizado.

• Comando para carregamento do driver:– Class.forName(“classe do driver”)

• Carregamento do driver MySQL

JDBC API

• Carregamento do driver MySQL– Class.forName(“com.mysql.jdbc.Driver”)

3

JDBC DriverManager

JDBC Driver

Page 4: 1 jdbc

Programação II - Prof. Fernando dos Santos

JDBC Driver Manager

• É a classe Java que estabelececonexão com o banco de dados– java.sql.DriverManager

JDBC API

JDBC DriverManager– java.sql.DriverManager

– java.sql.Connection

• Estabelecendo conexão:

Connection conexao = DriverManager.getConnection(url, usuario, senha);

Manager

JDBC Driver

• usuario: usuário de acesso ao banco• senha: senha de acesso ao banco• url: identifica o protocolo, banco, host do servidor, porta e esquema.

• jdbc:mysql://localhost:3306/sistema_vendas

4

Page 5: 1 jdbc

Programação II - Prof. Fernando dos Santos

JDBC API

JDBC API

JDBC DriverManager

JDBC Driver

• Disponibiliza classes para interação com o banco:– envio de comandos SQL: Statement e PreparedStatement– obtenção de resultados: ResultSet

• Todas as classes estão no pacote java.sql

5

Page 6: 1 jdbc

Programação II - Prof. Fernando dos Santos

JDBC API - Exemplo

Class.forName("com.mysql.jdbc.Driver");Class.forName("com.mysql.jdbc.Driver");

Connection conexao = DriverManager.getConnection( "jdbc:mysql://localhost:3306/sistema_vendas", "root", "root123");

Statement comando = conexao.createStatement();

ResultSet resultados = comando.executeQuery(“select id, nome, senha from usuario”);

while (resultados.next()) {int id = resultados.getInt(“id”);

6

int id = resultados.getInt(“id”);String nome = resultados.getString(“nome”);

String senha = resultados.getString(“senha”);}comando.close();conexao.close();

Page 7: 1 jdbc

Programação II - Prof. Fernando dos Santos

JDBC e o paradigma orientado a objetos

• As aplicações são desenvolvidas usando orientação a objetos– são modeladas classes e seus relacionamentos.

• Como mapear classes para tabelas, e os atributos para colunas?• Como mapear classes para tabelas, e os atributos para colunas?

Usuario

- id: int- nome: String- senha: String

• Escreva um método Java para buscar uma lista de usuários.– O método deve usar JDBC para fazer um select no banco;– Para cada registro, deve criar um objeto Usuário;– Retornar a lista de objetos Usuário

7

+ métodos get() / set()

Page 8: 1 jdbc

Programação II - Prof. Fernando dos Santos

Bibliografia

• DEITEL, Paul J; DEITEL, Harvey M. Java: como programar.8. ed. São Paulo: Pearson, 2010. xxix, 1144 p, il. – Capítulo 28– Capítulo 28

• JDBC Overview

– http://www.oracle.com/technetwork/java/overview-141217.html

8