Sie sind auf Seite 1von 3

JDBC: Java Database Connectivity

JDBC es un paquete de Java que provee clases e interfaces


que interactan con bases de datos relacionales.
JDBC soporta queries (requerimiento a una base de
datos) independientes del fabricante del DBMS a travs de
JDBC: Java Database Connectivity drivers JDBC.
La mayor parte de los DBMS soportan JDBC (Oracle,
Informix, Sybase y otros).
Franco Guidi Polanco
Escuela de Ingeniera Industrial
Pontificia Universidad Catlica de Valparaso, Chile
fguidi@ucv.cl
Se agradece a Marcelo Silva Flamm el material presentado en
estas transparencias

Franco Guidi Polanco (PUCV-EII) 3/9/2007 2

Esquema de funcionamiento de JDBC Principales clases e interfaces en JDBC

DriverManager: administra los drivers que y


permite crear conexiones a bases de datos.
Connection: es un conducto para las
Aplicacin Java
comunicaciones con la base de datos.
API de JDBC
Statement: es la encapsulacin de Java para una
JDBC Driver Manager
sentencia SQL.
Drivers JDBC ResultSet: almacena los resultados de un query.
Driver A Driver B Driver C ..... (Nativos, middleware,
JDBC-ODBC bridge)

Franco Guidi Polanco (PUCV-EII) 3/9/2007 3 Franco Guidi Polanco (PUCV-EII) 3/9/2007 4
Clase DriverManager Interface Connection

Esta clase carga los drivers JDBC instalados en el Los objetos de este tipo representan una conexin
computador. a la base de datos (una sesin entre el programa
El mtodo getConnection() encuentra el driver Java y la base de datos).
apropiado para conectarse a una base de datos A travs de esta conexin se envan queries SQL a
especfica. Este mtodo retorna un objeto la base de datos, y se obtienen sus resultados.
Connection.

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con =
DriverManager.getConnection("jdbc:odbc:aquarium");

Franco Guidi Polanco (PUCV-EII) 3/9/2007 5 Franco Guidi Polanco (PUCV-EII) 3/9/2007 6

Interface Statement Interface ResultSet

Los objetos Statement representan sentencias Los objetos de este tipo almacenan una tabla de
resultados retornada como resultado de la ejecucin de
SQL. una sentencia SQL.
Estas sentencias son enviadas a la base de datos (a
travs de los objetos Connection). ResultSet rs = stmt.executeQuery("Select * FROM
articulo ");
Si con es un objeto Connection, podemos crear un
objeto Statement de la siguiente manera: En el caso de objetos statement destinados a
agregar, actualizar, o eliminar registros, se deben usar
los mtodos executeInsert(), executeUpdate()
Statement stmt = con.createStatement(); y executeDelete(), respectivamente.

Franco Guidi Polanco (PUCV-EII) 3/9/2007 7 Franco Guidi Polanco (PUCV-EII) 3/9/2007 8
Iterando a travs de ResultSet
import java.io.*;
import java.util.*;
import java.sql.*;
Si rs es un objeto ResultSet, el siguiente cdigo
public class TestJdbc {
muestra el primer campo para todos los registros public static void main (String arg[] ) throws Exception {
obtenidos (se supone que el primer campo Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/Datos");
corresponde a un tipo representable como String sql= "select * from proveedor;";
String). Statement st = con.createStatement();
ResultSet rs = st.executeQuery( sql );
while ( rs.next() )
System.out.println( rs.getString( "rut ) + " "+ rs.getString( "nombre" )+ " );
while (rs.next( ) )
st.close();
System.out.println(Col 1 Value=" + con.close();
rs.getString(1)); } // end main()
} // end class

Este ejemplo utiliza MySql (www.mysql.com) como DBMS y com.mysql.jdbc.Driver


como driver JDBC.

Franco Guidi Polanco (PUCV-EII) 3/9/2007 9 Franco Guidi Polanco (PUCV-EII) 3/9/2007 10

Das könnte Ihnen auch gefallen