Protocolo JDBC em SGBD
5.1 Introdução
JDBC é um conjunto de classes e interfaces (API) para acessar qualquer dados em formato tabular quer estejam armazenados em tabelas ou em arquivos.
A versão 2.0 já traz compatibilidade com o novo padrão SQL-1999 (Objeto-relacional)
Características:
fácil mapeamento objeto para relacional independência de banco de dados computação distribuída
Simplificando, JDBC realiza as seguintes tarefas:
1. Estabelece uma conexão com um banco de dados
2. Executa comandos SQL DDL e DML
3. Recebe um conjunto de resultados
4. Executa stored procedures
5. Obtém informações sobre o banco de dados (metadados)
6. Executa transações
Ex.: Fragmento de código que mostra como abrir uma conexão, enviar uma query, e processar os resultados:
Connection con = DriverManager.getConnection(“jdbc:meuDriver:meuDB”, “meuLogin”, “minhaPassword”);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(“Select matricula, nome from Empregado”);
While (rs.next()) { int mat = rs.getInt(“matricula”); String nome = rs.getString(“nome”); System.out.println( mat + “,” + nome );
}
rs.close();
…
JDBC foi inspirado em ODBC da Microsoft que é baseado no Open Group (X/Open) SQL CLI (Call Level Interface).
Desvantagens ODBC:
ODBC é mais difícil aprender
É baseado numa API em C
Requer instalação em cada cliente
Outras APIs foram introduzidas pela Microsoft: OLE DB (Object Linking and Embedding), ADO (ActiveX Data Objects), e RDS (Remote Data Service) e, mais recentemente, UDA (Universal Data Access) como um guarda-chuva para as APIs anteriores.
5.1.1 Arquiteturas JDBC: 2-, 3, n-camadas
1. Modelo em Duas camadas (2-tiers)
Conhecido como configuração cliente/servidor
Applet ou aplicação Java comunica diretamente com o SGBD.
O SGBD pode estar localizado em qualquer lugar na rede (intranet, internet, extranet)
Vantagens: