Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introduccin
JDBC es una API, formada por
conjunto de clases e interfaces en
el lenguaje de programacin Java,
para ejecutar sentencias SQL.
Ofrece un estndar de conexin a
cualquier base de datos disponible
en el mercado.
Permite obtener los datos en forma
fcil y cmoda en ambientes
cliente-servidor a travs de
Internet/Intranet.
Qu hace JDBC?
Establece una conexin a una
base de datos.
Enva sentencias SQL.
Procesa los resultados de estas
sentencias.
Arquitectura JDBC
Arquitectura normal
Puente JDBC-ODBC
Aplicaciones Java
Aplicaciones Java
JDBC API
JDBC API
Adm. de controladores JDBC
Adm. de controladores JDBC
Puente JDBC/ODBC
Controlador
JDBC
DB
Controlador
JDBC
Adm. de controladoresODBC
C. ODBC
C. ODBC
DB
DB
DB
Modelos de acceso a BD
De 2 capas
Aplicacin
Java
Cliente
JDBC
Protocolo
BD
DBMS
Servidor
BD
Modelos de acceso a BD
De 3 capas
Cliente (GUI)
Applet en Java o
Navegador HTML
Llamadas HTTP,
RMI,CORBA
Aplicacin
Java
Servidor
JDBC
Protocolo
BD
DBMS
Servidor
BD
Conexin
Un objeto Connection representa
una conexin a una base de datos.
Una sesin incluye las sentencias
SQL que son ejecutadas y los
resultados de stas.
Establecer la conexin:
DriverManager.getConnection
La clase DriverManager intenta
ubicar el controlador que pueda
conectarse a la base de datos
representada en la URL.
...Conexin
Sintxis de una URL JDBC:
jdbc:<subprotocolo>:<subnombre>
<subprotocolo> es el nombre del
controlador o del mecanismo de
conexin. Ejemplo: odbc.
<subnombre> es la identificacin
de la base de datos. El formato
varia segn el controlador
especificado. Ejemplo:
//servidor:puerto/etc
Transacciones
Una transaccin consiste en una o
ms sentencias que han sido
ejecutadas y luego confirmadas
(commit) o deshechas (rolled back)
Auto-commit est predeterminado.
Si Auto-commit est desactivado
se debe usar los mtodos commit
o rollback explcitamente.
Procesando respuestas
Las respuestas a las sentencias
SQL se reciben en el objeto
ResultSet que mantiene las filas.
Este objeto provee el acceso a los
datos de esas filas a travs de un
conjunto de mtodos get, los
cuales, a su vez, permiten el
acceso a cada columna de estas
filas.
Ejemplo de sentencia
Connection con = DriverManager.getConnection (
"jdbc:odbc:nombre", "login",
"password");
PreparedStatement pstmt = con.prepareStatement(
UPDATE tabla1 SET m=? WHERE x=?);
pstmt.setString(1, "Hola");
for (int i = 0; i < 10; i++) {
pstmt.setInt(2, i);
int rowCount = pstmt.executeUpdate();
}