Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1 Semana Pg. 1
Lenguaje de Programacin I
DESARROLLO
INTRODUCCIN
Java Database Connectivity (JDBC) es una interface de acceso a bases de datos estndar SQL que
proporciona un acceso uniforme a una gran variedad de bases de datos relacionales. JDBC tambin
proporciona una base comn para la construccin de herramientas y utilidades de alto nivel.
El paquete actual de JDK incluye JDBC y el puente JDBC-ODBC. Estos paquetes son para su uso
con JDK 1.x.
DEFINICION DEL JDBC
JDBC es el API para la ejecucin de sentencias SQL. (Como punto de inters JDBC es una marca
registrada y no un acrnimo, no obstante a menudo es conocido como Java Database Connectivity).
Consiste en un conjunto de clases e interfaces escritas en el lenguaje de programacin Java. JDBC
suministra un API estndar para los desarrolladores y hace posible escribir aplicaciones de base de datos
usando un API puro Java.
Usando JDBC es fcil enviar sentencias SQL virtualmente a cualquier sistema de base de datos. En otras
palabras, con el API JDBC, no es necesario escribir un programa que acceda a una base de datos Sybase,
otro para acceder a Oracle y otro para acceder a Informix. Un nico programa escrito usando el API JDBC
y el programa ser capaz de enviar sentencias SQL a la base de datos apropiada. Y, con una aplicacin
escrita en el lenguaje de programacin Java, tampoco es necesario escribir diferentes aplicaciones para
ejecutar en diferentes plataformas. La combinacin de Java y JDBC permite al programador escribir una
sola vez y ejecutarlo en cualquier entorno.
Java, siendo robusto, seguro, fcil de usar, fcil de entender, y descargable automticamente desde la red,
es un lenguaje base excelente para aplicaciones de base de datos.
FUNCIONES DEL JDBC
1. Establecer una conexin con una base de datos
2. Enviar una consulta SQL a la base de datos
3. Procesar los resultados de la consulta.
El API JDBC del desarrollador de aplicaciones consta de dos partes, por un lado est el paquete java.sql,
que contiene las clases e interfaces que permiten acceder a la funcionalidad bsica del API JDBC. Este
paquete forma parte de la edicin estndar de la plataforma Java (J2SE), desde la versin 1.1 de sta.
Esta separata se centra en la funcionalidad de este paquete.
CARACTERSTICAS Y DRIVERS DEL JDBC
Los Driver, tambin llamados Manejadores, son un conjunto de clases que implementan las clases e
interfaces del API JDBC necesarias para que una aplicacin Java pueda conectarse con una BD. Cuando
los desarrolladores de una BD desean que esta pueda ser accesible mediante JDBC stos deben
implementar un manejador para esa base de datos; la misin del manejador ser traducir comandos
estndar del API JDBC al protocolo nativo de esa base de datos.
1 Semana Pg. 2
Lenguaje de Programacin I
Cada base de datos emplea un protocolo diferente de comunicacin, protocolos que normalmente son
propietarios. El uso de un manejador, una capa intermedia entre el cdigo del desarrollador y la base de
datos, permite independizar el cdigo Java que accede a la BD del sistema de BD concreto a la que
estamos accediendo, ya que en nuestro cdigo Java emplearemos comandos estndar, y estos comandos
sern traducidos por el manejador a comandos propietarios de cada sistema de BD concreto.
Si queremos cambiar el sistema de BD que empleamos lo nico que deberemos hacer es reemplazar el
antiguo manejador por el nuevo, y seremos capaces de conectarnos la nueva BD.
Para garantizar que un manejador respeta el API JDBC existe un conjunto de pruebas que debe pasar el
manejador para poderse considerar JDBC CompliantTM, estas pruebas (disponibles en
http://java.sun.com/products/jdbc/download.html) nos garantizan que un manejador ha sido desarrollado
siguiendo el API JDBC.
En http://servlet.java.sun.com/products/jdbc/drivers se puede encontrar manejadores para cualquier base
de datos.
Tipos de manejadores:
Hay 4 tipos de manejadores JDBC, que difieren en s, usan o no tecnologa Java Pura, en su rendimiento y
en la flexibilidad para cambiar de base de datos. Veamos cuales son:
a. Puente JDBC-ODBC (tipo1)
ODBC es un API estndar semejante a JDBC, que permite que lenguajes como C++ accedan de un modo
estndar a distintos sistemas de BD. Un manejador tipo puente JDBC-ODBC delega todo el trabajo sobre
un manejador ODBC, que es quien realmente se comunica con la BD. El puente JDBC-ODBC permite la
conexin desde Java a BD que no proveen manejadores JDBC. Fue muy til cuando se cre el API JDBC,
ya que muchas BD no disponan de manejadores JDBC, pero s de manejadores ODBC. Empleado el
puente JDBC-ODBC poda accederse a estas bases de datos empleando el API JDBC.
Este tipo de manejador tiene dos desventajas: por un lado depende de cdigo nativo, ya que el manejador
ODBC no ha sido desarrollado en Java. Esto compromete la portabilidad de nuestro desarrollo. Por otro
lado al emplear este tipo de manejador nuestra aplicacin llama al gestor de manejadores JDBC, quien a
su vez llama al manejador JDBC (puente JDBC-ODBC), quien llama al manejador ODBC, que es el que
finalmente llama a la base de datos. Hay muchos puntos donde potencialmente puede producirse un fallo,
lo cual hace que estos manejadores muchas veces sean bastante inestables.
1 Semana Pg. 3
Lenguaje de Programacin I
El puente forma parte del jdk de SUN, est en el paquete sun.jdbc.odbc. Inicialmente este tipo de
manejador fue bastante til por aliviar la carencia de manejadores JDBC.
Hoy en da es el menos recomendado por limitar la portabilidad de la aplicacin, al requerir cdigo nativo, y
por emplear tantas capas para la comunicacin con la base de datos, lo que a veces hace que incrementa
la inestabilidad de estos manejadores.
b. Manejador de API nativo (tipo2)
Se basa en una librera escrita en cdigo nativo para acceder a la base de datos. El manejador traduce las
llamadas JDBC a llamadas al cdigo de la librera nativa, siendo el cdigo nativo el que se comunica con
las bases de datos. La librera nativa es proporcionada por los desarrolladores de la BD.
Estos manejadores son ms eficientes y tienen menos puntos de fallo que el puente JDBC-ODBC ya que
hay menos capas entre el cdigo de la aplicacin y la base de datos. Sin embargo siguen teniendo el
problema de prdida de portabilidad por emplear cdigo nativo.
1 Semana Pg. 4
Lenguaje de Programacin I
1 Semana Pg. 5
Lenguaje de Programacin I
Connection
d. Statement
e. PreparedStatement
f.
CallableStatement
g. ResultSet
REGISTRO DE UN MANEJADOR
Registrar un manejador no es ms que cargar en memoria una clase que implementa el interfaz Driver,
clase proporcionada por los desarrolladores de la base de datos. Existen tres formas de registrar un Driver:
1 Semana Pg. 6
Lenguaje de Programacin I
1. Empleando el cargador de clases. Para ello empleamos, al igual que para cargar cualquier otra clase, el
mtodo forName(String clase) de la clase Class.
Class.forName("com.mysql.Driver");
2. Instanciando la clase que implementa el interfaz Driver. De este modo tendremos una referencia al Driver,
pudiendo establecer la conexin directamente con l sin necesidad de emplear la clase DriverManager.
La sintaxis es la misma que para instanciar cualquier otra clase:
Driver driverPraMySQL = new org.gjt.mm.mysql.Driver();
3. Definir la propiedad jdbc.drivers. Podemos hacerlo de dos modos diferentes:
a.
mquina
virtual.
La
sintaxis
es
jdbc.drivers=gjt.mm.mysql.Driver:oracle.jdbc.driver.OracleDriver;
b. Emplear la opcin D al invocar a la mquina virtual. Para ellos debemos arrancar nuestra aplicacin
con el comando java: Djdbc.drivers= nombreManejador1: nombreManejador2:
java -Djdbc.drivers=gjt.mm.mysql.Driver:oracle.jdbc.driver.OracleDriver;
INTERFAZ DRIVER
Aunque es vital para establecer la conexin con la base de datos en la prctica el desarrollador de
aplicaciones puede olvidarse de esta interfaz. Es responsabilidad del desarrollador del manejador proveer
una clase que la implemente esta interfaz, y ser responsabilidad del DriverManager llamar al mtodo
connect de los drivers registrados para intentar establecer la conexin con la base de datos.
No obstante es posible crear un objeto tipo Driver, instanciando la clase desarrollada por el desarrollador
del manejador, e invocar directamente a su mtodo connect, obteniendo una conexin con la base de datos
sin necesidad de emplear la clase DriverManager. De este modo tenemos ms control sobre el Driver que
estamos empleando en la conexin, cuando hemos registrado ms de un driver, ya que no nos
arriesgamos a que se establezca conexin con la BD con un driver distinto al que nosotros deseamos usar.
CLASE DRIVERMANAGER
Como su nombre indica, esta clase es la gestora de los diversos drivers (manejadores) que existan en
nuestra aplicacin. Es posible que sea necesario que en una misma aplicacin se tenga varios
manejadores para acceder a varias bases de datos.
Los mtodos que ms nos interesan de esta clase son:
1 Semana Pg. 7
Lenguaje de Programacin I
static Connection getConnection(String url);
static Connection getConnection(String url, String user, String password).
Estos mtodos intentan establecer conexin con la base de datos que le indiquemos en el campo url,
empleando para ellos todos los manejadores que hemos registrado. La diferencia entre un mtodo y el otro,
obviamente, es que en uno slo se especifica la base de datos a la que nos queremos conectar, mientras
que en el otro se indica tambin el nombre de usuario de la base de datos y su password. Ms adelante
explicaremos que es el objeto Connection que devuelven estos mtodos.
Lo que hace la clase DriverManager para intentar establecer conexin con la base de datos es invocar al
mtodo connect de la interface Driver, interface que como veremos deben implementar todos los
manejadores. Realiza esta operacin con todos los manejadores que tiene registrados, si el manejador
devuelve null significa que no se ha podido conectar con la base de datos, y el gestor intenta de nuevo
conectarse con otro manejador. Si consigue conectarse con un manejador no sigue intentndolo con el
resto de los manejadores registrados, y si no consigue establecer la conexin con ningn manejador lanza
una excepcin tipo SQLException.
1 Semana Pg. 8
Lenguaje de Programacin I
Ejemplo:
"jdbc:odbc:usuarios"
Veamos cada una de las partes del URL:
1. Protocolo de la conexin. Siempre es jdbc.
2. Subprotocolo de la conexin. Identifica el tipo de mecanismo de conexin que emplearemos para
acceder a la base de datos. Es imprescindible especificarlo para que el DriverManager pueda saber qu
tipo de manejador debe emplear para crear la conexin. En el URL ejemplo el subprotocolo empleado
para la conexin a la base de datos ser ODBC, por lo que el DriverManager intentar establecer la
conexin con todos los manejadores registrados que sean de tipo 1, puente JDBC-ODBC.
3. Subnombre, identifica la base de datos con la que queremos establecer una conexin. El subnombre es
usuarios; ser el sistema ODBC quien proporcione, a partir de ese nombre, el resto de la informacin
necesaria para establecer la conexin con la base de datos.
Sin embargo si empleamos otro protocolo puede ser necesario incluir la direccin de red del servidor
como subnombre. Por ejemplo:
protocolo:subprotocolo://servidor:puerto/subnombre
"jdbc:microsoft:sqlserver://localhost:1433;pubsSQL;selectMethod=cursor
Descripcin
Establece una conexin con la base de
datos identificada por la URL de JDBC que
se pasa por parmetros.
Establece una conexin con la base de
1 Semana Pg. 9
Lenguaje de Programacin I
info)
Connection getConnection(String
usuario, String contrasea)
url,
String
INTERFAZ CONNECTION
Representa una conexin con la base de datos. Permite crear objetos que representan consultas que se
ejecutarn en la base de datos, y permite acceder a informacin sobre la base de datos y las posibilidades
del manejador JDBC.
En esta tabla recogemos los principales mtodos de la interfaz Connection. Sobre muchos de ellos
volveremos a hablar ms adelante.
1 Semana Pg.
Lenguaje de Programacin I
Statement createStatement()
bolean getAutoCommit()
DatabaseMetaData getMetaData()
PreparedStatement prepareStatement(String
sql)
void rollback()
void close()
Statement
createStatement(int
tipoResultSet, int tipoConcurrencia)
boolean isClosed()
boolean isReadOnly()
PreparedStatement
prepareStatement(String sql)
PreparedStatement
prepareStatement(String
sql,
tipoResultSet, int tipoConcurrencia)
int
Statement Creada por el mtodo createStatement. Un objeto Statement se usa para enviar
sentencias SQL simples.
1.-
1 Semana Pg. 11
Lenguaje de Programacin I
3.- CallableStatement Creado por el mtodo prepareCall. Los objetos CallableStatement se usan para
ejecutar procedimientos almacenados SQL un grupo de sentencias SQL que son llamados mediante un
nombre, algo parecido a una funcin - . Un objeto CallableStatement hereda mtodos para el manejo de los
parmetros IN de PreparedStatement, y aade mtodos para el manejo de los parmetros OUT e INOUT.
INTERFACE STATEMENT
Esta interfaz permite enviar instrucciones SQL a la base de datos. Podemos obtener un objeto que
implemente esta interfaz a partir del mtodo Statement createStatement() de la interfaz Connection. Para
enviar una consulta tipo SELECT se emplea el mtodo executeQuery(String sql). Este mtodo devuelve
un objeto tipo ResultSet. Para enviar una instruccin tipo DELETE, UPDATE, INSERT o una instruccin
DDL (Data Definition Language) se emplea executeUpdate(String sql). Mediante el mtodo
execute(String sql) podemos ejecutar cualquiera de los comandos anteriores.
Un objeto Statement se usa para enviar sentencias SQL a la base de datos. Actualmente hay tres
tipos de objetos Statement, todos los cuales actan como contenedores para la ejecucin de
sentencias en una conexin dada: Statement, PreparedStatement que hereda de Statement y
CallableStatement que hereda de PreparedStatement. Estas estn especializadas para enviar tipos
particulares de sentencias SQL, Un objeto Statement se usa para ejecutar una sentencia SQL simple
sin parmetros. Un objeto PreparedStatement se usa para ejecutar sentencias SQL precompiladas
con o sin parmetros IN; y un objeto CallableStatement se usa para ejecutar un procedimiento
almacenados de base de datos.
La interfase Statement suministra mtodos bsicos para ejecutar sentencias y devolver resultados.
La interfase PreparedStatement aade mtodos para trabajar con los parmetros IN; y la interfase
CallableStatement aade mtodos para trabajar con parameters OUT.
1 Semana Pg.
Lenguaje de Programacin I
Una vez establecida la conexin con una base de datos particular, esta conexin puede usarse para
enviar sentencias SQL. Un objeto Statement se crea mediante el mtodo de Connection
createStatement, como podemos ver en el siguiente fragmento de cdigo.
La sentencia SQL que ser enviada a la base de datos es alimentada como un argumento a uno de
los mtodos de ejecucin del objeto Statement. Por ejemplo:
La interfase Statement nos suministra tres mtodos diferentes para ejecutar sentencias SQL,
executeQuery, executeUpdate y execute. El mtodo a usar est determinado por el producto de la
sentencia SQL
El mtodo executeQuery est diseado para sentencias que producen como resultado un nico
resultSet tal como las sentencias SELECT.
El mtodo execute se usa para ejecutar sentencias que devuelven ms de un ResultSet, ms que un
update count o una combinacin de ambos.
PROFESOR: Ricardo Coello Palomino
13
1 Semana Pg.
Lenguaje de Programacin I
Todos los mtodos que ejecutan sentencias cierran los objetos ResultSet abiertos como resultado de
las llamadas a Statement. Esto quiere decir que es necesario completar el proceso con el actual
objeto ResultSet antes de reejecutar una sentencia Statement.
Debe notarse que la interfase PreparedStatement, que hereda los mtodos de la interfase Statement,
tiene sus propias versiones de los mtodos executeQuery, executeUpdate y execute. Los objetos
Statement en s mismos no contienen una sentencia SQL, por tanto debe suministrarse como un
argumento a los mtodos Statement.execute. Los objetos PreparedStatement no suministran una
sentencia SQL como argumento a estos mtodos puesto que ya tienen la sentencia precompilada.
Los objetos CallableStatement heredan las formas de estos mtodos de PreparedStatement. Usar un
parametro de query con las versiones de los mtodos de PreparedStatement o CallableStatement
producir una SQLException,
Realizacin de Statement
Cuando una conexin est en modo auto-commit, las sentencias ejecutadas son comitadas o
rechazadas cuando se completan. Un sentencia se considera completa cuando ha sido ejecutada y
se han devuelto todos los resultados. Para el mtodo executeQuery, que devuelve un nico
ResultSet, la sentencia se completa cuando todas las filas del objeto ResultSet se han devuelto.
Para el mtodo executeUpdate, un sentencia se completa cuando se ejecuta. En los raros casos en
que se llama al mtodo execute, de cualquier modo, no se completa hasta que los ResultSets o
update counts que se generan han sido devueltos.
Algunos DBMS tratan cada sentencia en un procedimiento almacenado como sentencias separadas.
Otros tratan el procedimiento entero como una sentencia compuesta. Esta diferencia se convierte
en importante cuando est activo el modo auto-commit porque afecta cuando se llama al mtodo
commit. En el primer caso, cada sentencia individual es commitada. En el segundo, se commiten
todas juntas.
Los objetos Statement se cerrarn automticamente por el colector de basura de Java (garbage
collector). No obstante se recomienda como una buena prctica de programacin que se cierren
PROFESOR: Ricardo Coello Palomino
14
1 Semana Pg.
Lenguaje de Programacin I
explcitamente cuando no sean ya necesarios. Esto libera recursos DBMS inmediatamente y ayuda
a evitar potenciales problemas de memoria.
INTERFAZ RESULTSET
Esta interfaz representa un conjunto de datos que son el resultado de una consulta SQL. La
clase posee una serie de mtodos XXX getXXX(int columna) y XXX getXXX(String columna)
que permiten acceder a los resultados de la consulta (para la sintaxis correcta de estos
mtodos acudir al javadoc de la interfaz ResultSet). Para acceder a los distintos registros
empleamos un puntero, que inicialmente apunta justo antes de la primera fila.
Para desplazar el puntero empleamos el mtodo next().
Un ResultSet contiene todas las filas que satisfacen las condiciones de una sentencia SQL y
proporciona el acceso a los datos de estas filas mediante un conjunto de mtodos get que permiten
el acceso a las diferentes columnas de la filas. El mtodo ResultSet.next se usa para moverse a la
siguiente fila del ResultSet, convirtiendo a sta en la fila actual.
El formato general de un ResultSet es una tabla con cabeceras de columna y los valores
correspondientes devueltos por la query. Por ejemplo, si la query es SELECT a, b, c FROM
Table1, el resultado tendr una forma semejante a:
b
-------12345
83472
83492
c
--------Cupertino
Redmond
Boston
-------CA
WA
MA
ACTIVIDADES
1 Semana Pg.
Lenguaje de Programacin I
Investigue los siguientes temas:
a. Definicin, caractersticas y funciones de ODBC.
b. En que carpeta del JDK se encuentran los drivers JDBC
c. Cmo conseguir los drivers JDBC del gestor de base de datos MS SQLSERVER y
MySQL?
d. Cul de los 4 tipos de JDBC corresponde a la conexin que necesita MS-ACCESS?
e. Enumere y detalle la funcin de cada uno de los mtodos de las interfaces Statement y
ResultSet.
GLOSARIO
API : Librera de recursos externo a una aplicacin, desde la cual se puede invocar a
clases, mtodos, propiedades, etc.
DRIVER: Software provisto por el fabricante de una base de datos que permita la conexin
entre una la aplicacin Java y una base de datos.
ODBC: API de Microsoft Windows que permite la conexin de base de datos Microsoft con
distintos orgenes de datos.
STATEMENT: Interfaz de Java que se encarga de ejecutar los comandos SQL (Ejm:
Select, Update, Delete, Insert, etc)
1 Semana Pg.
Lenguaje de Programacin I
1 Semana Pg.
Lenguaje de Programacin I
1 Semana Pg.
Lenguaje de Programacin I
8. Ejecute el Formulario
ResultSetMetaData
1. Disear el siguiente formulario.
1 Semana Pg.
Lenguaje de Programacin I
1 Semana Pg.
Lenguaje de Programacin I
Ejemplo de BD y Tablas
1. Crear 5 BD (Comercial, Clnica, Biblioteca, Colegio, Cine), luego crear 5
tablas en cada BD.
2. Disear la siguiente ventana:
1 Semana Pg.
Lenguaje de Programacin I
1 Semana Pg.
Lenguaje de Programacin I
6. Llamar al procedimiento.
Tarea Domiciliaria
Mostrar las BDs en un Jtable
Mostrar las tablas en un Jtable segn la BD seleccionada.
Mostrar los registros en un Jtable segn la tabla seleccionada.
1 Semana Pg.
Lenguaje de Programacin I
1 Semana Pg.
Lenguaje de Programacin I
1 Semana Pg.
Lenguaje de Programacin I
1 Semana Pg.
Lenguaje de Programacin I
Prctica
Crear un nuevo Inicio de sesin con su nombre.
into
into
into
into
into
into
into
into
into
into
personal
personal
personal
personal
personal
personal
personal
personal
personal
personal
values
values
values
values
values
values
values
values
values
values
('PER01','RICARDO','COELLO PALOMINO','ATE')
('PER02','LUIS','ROJAS VIVAN','CHOSICA')
('PER03','ANDRES','CALAMAR RIOS','ATE')
('PER04','LUCIO','RUIZ BISBAL','CHACLACAYO')
('PER05','ERNESTO','MORALES BERMUDEZ','CHOSICA')
('PER06','VANY','RODRIGUEZ BARJA','ATE')
('PER07','SUSANA','AYALA HUACACHI','CHACLACAYO')
('PER08','MARIA','RIOS CHAMBILLO','CHOSICA')
('PER09','CARMEN','TORRES PALOMINO','ATE')
('PER010','LUCIA','DE LA CRUZ SANDOVAL','CHACLACAYO')
1 Semana Pg.
Lenguaje de Programacin I
1 Semana Pg.
Lenguaje de Programacin I
1 Semana Pg.
Lenguaje de Programacin I
My SQLYog
CREATE DATABASE comercial
CREATE TABLE vendedor
(
cod_vendedor CHAR(10)NOT NULL,
nom_vendedor VARCHAR(50)NOT NULL,
ape_vendedor VARCHAR(50)NOT NULL,
dir_vendedor VARCHAR(50)NOT NULL
)
SELECT * FROM vendedor
INSERT INTO vendedor VALUES
palomino','ate')
INSERT INTO vendedor VALUES
barja','ate')
INSERT INTO vendedor VALUES
rodriguez','chaclacayo')
INSERT INTO vendedor VALUES
coello','santa anita')
('vend01','ricardo','coello
('vend02','vany','rodriguez
('vend03','susana','coello
('vend04','geraldine','sanchez
1 Semana Pg.
Lenguaje de Programacin I
('prof01','ricardo','coello
('prof02','vany','rodriguez barja','ate')
('prof03','susana','coello
('prof04','geraldine','sanchez
('cli01','ricardo','coello palomino','ate')
('cli02','vany','rodriguez barja','ate')
('cli03','susana','coello
('cli04','geraldine','sanchez
1 Semana Pg.
Lenguaje de Programacin I
Bibliografa
AVA - Traer datos desde una BD a un control JComboBox, JTable y
JTable Pt.1
https://www.youtube.com/watch?v=4rXdm_AZYDU
Uso del MetaData
http://www.youtube.com/watch?v=9dYyn8hUT8w
tutorial SQL
http://www.devjoker.com/gru/Tutorial-SQL-/CSQL/Tutorial-SQL-.aspx
Cargar combobox con bd
https://www.youtube.com/watch?v=uUzQewzCRiU
Cargar listado de tablas
https://www.youtube.com/watch?v=hQ4LQlAl6pw
http://programadoressise.blogspot.com/2013/11/conectar-unaaplicacion-de-netbeans.html
manual sqlyog
PROFESOR: Ricardo Coello Palomino
32
1 Semana Pg.
Lenguaje de Programacin I
http://www.enespanol.com.ar/2006/05/23/guia-rapida-de-mysql/
Trabajos Grupales
1. Definicin, Caractersticas y Funciones de JDBC
2. Tipos de manejadores (Drivers)
3. Las Interfaces Y Clases Del JDBC
a. Drivers (MySQL, SQL-Server, Oracle, DB2, Access)
b. DriverManager
DriverManager es una clase esttica de Java 2 Plaform, Standard Edition (J2SE) y Java SE Development Kit (JDK).
DriverManager gestiona el conjunto de controladores Java Database Connectivity (JDBC) que estn disponibles para
que los utilice una aplicacin.
Las aplicaciones pueden utilizar varios controladores JDBC simultneamente si es necesario. Cada aplicacin especifica
un controlador JDBC mediante la utilizacin de un URL (Localizador universal de recursos). Pasando un URL de un
controlador JDBC especfico a DriverManager, la aplicacin informa a DriverManager acerca del tipo de conexin JDBC
que debe devolverse a la aplicacin.
Para poder realizar esta operacin, DriverManager debe estar al corriente del los controladores JDBC disponibles para
que pueda distribuir las conexiones. Efectuando una llamada al mtodo Class.forName, carga una clase en la mquina
virtual Java (JVM) que se est ejecutando en funcin del nombre de serie que se pasa en el mtodo. A continuacin
figura un ejemplo del mtodo class.forName utilizado para cargar el controlador JDBC nativo:
Ejemplo: cargar el controlador JDBC nativo
// Cargar el controlador JDBC nativo en DriverManager para hacerlo
// disponible para peticiones getConnection.
Class.forName("com.ibm.db2.jdbc.app.DB2Driver");
Los controladores JDBC estn diseados para informar a DriverManager acerca de s mismos automticamente cuando
se carga su clase de implementacin de controlador. Una vez que se ha procesado la lnea de cdigo mencionada
anteriormente, el controlador JDBC nativo est disponible para la DriverManager con la que debe trabajar. La lnea de
cdigo siguiente solicita un objeto Connection que utiliza el URL de JDBC nativo:
Ejemplo: solicitar un objeto Connection
// Obtener una conexin que utiliza el controlador JDBC nativo.
Connection c = DriverManager.getConnection("jdbc:db2:*local");
La forma ms sencilla de URL JDBC es una lista de tres valores separados mediante dos puntos. El primer valor de la
lista representa el protocolo, que es siempre jdbc para los URL JDBC. El segundo valor es el subprotocolo y se utiliza
db2 o db2iSeries para especificar el controlador JDBC nativo. El tercer valor es el nombre de sistema para establecer la
conexin con un sistema especfico. Existen dos valores especiales que pueden utilizarse para conectarse con la base
de datos local. Son *LOCAL y localhost (ambos son sensibles a maysculas y minsculas). Tambin puede suministrarse
un nombre de sistema especfico, de la forma siguiente:
Connection c =
DriverManager.getConnection("jdbc:db2:rchasmop");
1 Semana Pg.
Lenguaje de Programacin I
http://www01.ibm.com/support/knowledgecenter/ssw_ibm_i_61/rzaha/db2drivr.ht
m?lang=es
http://www.webtaller.com/construccion/lenguajes/java/lecciones/conex
iones-db-java-3.php
c. Connection
d. Statement
CreateStatement
PreparedStatement
CallableStatement
http://www.euskalnet.net/jaoprogramador/j2ee/JDBC/jdbc17.htm
http://www.myjavazone.com/2012/08/statement.html
g. ResultSet
1 Semana Pg.