JDBC, um framework para acesso a banco de dados Roteiro

Propaganda
JDBC, um framework para
acesso a banco de dados
Fábio Bezerra
[email protected]
JDBC: Conceitos
❚ FRAMEWORK: é um projeto genérico.
agregado de classes relacionadas
semanticamente, que implementam um
comportamento genérico para aplicações
específicas.
❚ É um framework que define um padrão de
acesso a banco de dados, independente
de onde o banco esteja.
Roteiro
❚ Ambiente de
Desenvolvimento
❚ Conexão com Banco
de Dados
❚ Operações
❙
❙
❙
❙
❙
Consulta
Inserção
Atualização
Exclusão
Stored Procedure
❚ Objetos
❙
❙
❙
❙
❙
❙
Connection
DriverManager
Statement
ResultSet
PreparedStatement
SQLException
❚ Transações
❚ Exemplos
❚ Exercícios
java.sql
❚ Pacote JDBC
❚ API necessária para executar comandos
SQL
❚ Contém classes e interfaces para criar
comandos SQL e recuperar os resultados
providos por esses comandos
Criando o Ambiente de
Desenvolvimento
❚ INSTALAR JDK (JAVA DEVELOPMENT KIT)
❚ INSTALAR DRIVER JDBC, QUANDO
ACESSO AO BANCO FOR NATIVO
❚ INSTALAR SGBD
java.sql.DriverManager
❚ Classe que provê gerenciamento básico a
qualquer driver JDBC
❚ getConnection(String url, String usuario,
String senha)
❙ tenta estabelecer uma conexão com o banco
de dados indicado na URL
❙ retorna um objeto Connection
java.sql.Connection
❚ Interface que representa uma conexão com o banco de
dados, permitindo obter informações do banco
(metadados), realizar consultas, manipular registros,
etc.
❚ Alguns métodos:
❙ close() - fecha a conexão com o banco de dados
❙ isClosed() - testa se a conexão está fechada
❙ isReadOnly() - testa se a conexão está no modo apenas leitura
❙ ...
Conexão via ODBC (1)
❚ Para realizar uma conexão via odbc é
necessário carregar o driver
correspondente ao sistema gerenciador de
banco de dados
Ex.: Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
❚ Em seguida, gerar uma instância do
objeto Connection
FORMATO DA URL --> jdbc:subprotocol:subname
DriverManager.getConnection(“jdbc:odbc:AliasTeste”);
Conexão via ODBC (2)
❚ EXEMPLO DE CONEXÃO:
import java.sql.Connection; import java.sql.DriverManager;
public class TesteConexao {
public TesteConexao() {
try {
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
String url = “jdbc:odbc:aliasteste”;
String usuario = “joão”, senha = “12345”;
Connection conexao = DriverManager.getConnection(url, usuario,
senha); }
catch (Exception e) {System.out.println(“Erro!”);}
}
}
Conexão via driver nativo (1)
❚ Semelhante ao processo via driver ODBC,
é necessário carregar (instanciar) a classe
que representa o driver nativo
❚ A classe é indicada pelo fabricante do
driver
❙ Exemplo: Para o InterClient
Class.forName("interbase.interclient.Driver");
Exercício - Conexão via ODBC
❚ Criar um banco de dados no InterBase chamado
BancoTeste
❚ Criar uma classe chamada TesteConexao
❙ carregar driver JDBC/ODBC
❙ sun.jdbc.odbc.JdbcOdbcDriver
❙ gerar conexão
❚ OBS.: Os parâmetros da conexão (usuário, senha e
nome do banco) devem ser obtidos a partir da linha de
comando
Conexão via driver nativo (2)
❚ O fabricante do driver nativo especifica o
formato da url utilizada para realização
da conexão com o banco de dados
❚ No caso do driver nativo para InterBase
tem-se:
jdbc:interbase://server/path_completo
Conexão via driver nativo (3)
❚ EXEMPLO DE CONEXÃO (InterBase):
import java.sql.Connection; import java.sql.DriverManager;
public class TesteConexao {
public TesteConexao() {
try {
Class.forName(“interbase.interclient.Driver”);
String url = “jdbc:interbase://localhost/c:/teste/BancoTeste.gdb”;
String usuario = “sysdba”, senha = “masterkey”;
Connection conexao = DriverManager.getConnection(url, usuario,
senha); }
catch (Exception e) {System.out.println(“Erro!”);}
}
}
Exercício - Conexão via driver
nativo
❚ Usar o banco de dados criado no exercício anterior BancoTeste
❚ Criar uma classe chamada TesteConexao2
❙ carregar driver JDBC/InterBase
❙ interbase.interclient.Driver
❙ gerar conexão
❚ OBS.: Os parâmetros da conexão (usuário, senha e
nome do banco) devem ser obtidos a partir da linha de
comando
Download