O documento descreve a API Java (JDBC) para conexão e acesso a bancos de dados. Ele explica que o JDBC define classes e métodos para estabelecer conexão e executar comandos SQL, e que cada fabricante fornece um driver JDBC específico. Também explica como carregar o driver, estabelecer a conexão via DriverManager, executar comandos e obter resultados.
1. Programação II - Prof. Fernando dos Santos
Java DataBase Connectivity (JDBC)
Fernando dos Santos
fernando.santos@udesc.br
2. 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.
• Cada fabricante (Oracle, MySQL, etc) fornece uma
implementação específica para uso com o banco – Driver JDBC.
Aplicação A Aplicação B JDBC API
Java
JDBC JDBC Driver
Manager
Oracle MySQL JDBC Driver Fabricante
3. 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
uma biblioteca na aplicação.
• O driver específico do banco é carregado na aplicação, para
depois ser utilizado.
• Comando para carregamento do driver: JDBC API
– Class.forName(“classe do driver”)
• Carregamento do driver MySQL
JDBC Driver
– Class.forName(“com.mysql.jdbc.Driver”)
Manager
JDBC Driver
3
4. Programação II - Prof. Fernando dos Santos
JDBC Driver Manager JDBC API
• É a classe Java que estabelece
conexão com o banco de dados JDBC Driver
– java.sql.DriverManager Manager
– java.sql.Connection
• Estabelecendo conexão: JDBC Driver
Connection conexao = DriverManager.getConnection(url, usuario, senha);
• 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
5. Programação II - Prof. Fernando dos Santos
JDBC API
JDBC API
JDBC Driver
Manager
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
6. Programação II - Prof. Fernando dos Santos
JDBC API - Exemplo
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”);
String nome = resultados.getString(“nome”);
String senha = resultados.getString(“senha”);
}
comando.close();
conexao.close();
6
7. 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?
Usuario
- id: int
- nome: String
- senha: String
+ métodos get() / set()
• 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
8. 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
• JDBC Overview
– http://www.oracle.com/technetwork/java/overview-141217.html
8