Está en la página 1de 5

JDBC API (Java Database Connectivity API)

La API de JDBC provee acceso a datos desde Java. Usando esta API
podemos acceder a variadas fuentes de datos: bases de datos
relacionales, hoas de c!lculo "spreadsheets# $ archivos planos.
JDBC API
%ste pa&uete permite conectarse a una base de datos, consultarla o
actuali'arla usando ()L. (u maneo es de importancia debido a la
frecuencia con &ue las bases de datos son usadas ho$.
()L "structured &uer$ lan*ua*e# es el len*uae est!ndar A+(I,I(- de de.nici/n,
manipulaci/n $ control de bases de datos relacionales.
A+(I "American +ational (tandards Institute# es una or*ani'aci/n sin !nimo de lucro &ue
supervisa el desarrollo de est!ndares para productos, servicios, procesos $ sistemas en los
%stados Unidos. %sta or*ani'aci/n pertenece a I(-.
I(- " International -r*ani'ation for (tandardi'ation# es el or*anismo encar*ado de promover
el desarrollo de normas internacionales de fabricaci/n "tanto de productos como de
servicios#, comercio $ comunicaci/n para todas las ramas industriales a e0cepci/n de la
el1ctrica $ la electr/nica.
As2 como con Java se lo*ra independencia de la plataforma, al
trabaar con JDBC se lo*ra adem!s independencia del proveedor de
la base de datos.
Una di.cultad enfrentada por los desarrolladores de JDBC, es &ue
e0isten muchos proveedores de bases de datos, por lo cual cada uno
usa su propio protocolo. %s as2 como se acord/ el desarrollo de una
API de Java para ()L, la cual accede la base de datos v2a
un administrador de drivers de terceros los cuales se conectan a
bases de datos espec2.cas.
Drivers de terceros"controlador#: es un componente de soft3are &ue permite &ue una
aplicaci/n Java para interactuar con una base de datos.
Cada proveedor de bases de datos deb2a *enerar su propio driver
conectable al administrador de drivers.
JDBC si*ue un modelo similar al de -DBC "-pen Database
Connectivit$# de 4icrosoft. -DBC es una API est!ndar para
conectarse a bases de datos.
Por esto una opci/n com5n es conectar JDBC a trav1s de un driver
&ue act5a como puente entre JDBC $ -DBC, ver 6i*ura 7.
6i*ura 7: Administrador de Drivers
8DB4( "8elational Database 4ana*ement ($stem o 8DB4( 9 (istema de :esti/n de Base de
Datos 8elacional o (:BD8#.
Esquema de Clases: Mecanismo
Esquema de Clases: Tipos de Clases
De.niciones de clases:
Dive: (on interfaces &ue cada clase de controlador debe
implementar. %l marco de Java ()L permite m5ltiples drivers de
bases de datos.
Cuando se car*a una clase de controlador, se debe crear una
instancia de s2 mismo $ se debe re*istrar con el Driver4ana*er.
%sto si*ni.ca &ue un usuario puede car*ar $ re*istrar un
controlador llamando a Class.for+ame";com.m$s&l.dbc.Driver<#=
DiveMana!e: Implementa la capa de *esti/n de JDBC, $
trabaa como intermediaria entre el usuario $ los drivers. :uarda
la lista de los drivers &ue est!n disponibles $ establece la
cone0i/n entre la base de datos $ el driver apropiado.
Para aplicaciones simples, el 5nico m1todo en esta clase &ue
necesita un pro*ramador *eneral para su uso directamente
es Driver4ana*er.*etConnection. Como su nombre indica,
este m1todo establece una cone0i/n con la base de datos.
Driver4ana*er.*etConnection";dbc:m$s&l:,,localhost:>>?@,b
asededatos<,<user<,<pass<#=
DivePopetyIn"o: %s s/lo de inter1s para los pro*ramadores
avan'ados &ue necesitan para interactuar con un controlador a
trav1s *etDriverProperties para descubrir $ suministrar las
propiedades de las cone0iones.

Connection: %l comportamiento *etConnection de la clase
Driver4ana*er si lo*ra conectarse devolver! un obeto de tipo
Connection el cual representar! nuestra cone0i/n a una base de
datos, este obeto es el &ue utili'aremos para reali'ar
mantenimiento de los datos en la base de datos a la cual hace
referencia.
#tatement: (e usa para eecutar una sentencia ()L simple sin
par!metros.
Pepae#tatement: Aereda de (tatement, se usa para eecutar
setencias ()L pre compiladas con o sin par!metros I+.
Un par!metro I+ es a&uel cu$o valor no se especi.ca en la sentencia ()L cuando se crea. %n
ve' de ello la sentencia tiene un interro*ante "BCD# como un BanclaD para cada par!metro I+.
Callable#tatement: Aereda de Prepared(tatement, se usa para
eecutar procedimientos almacenado $ aEade m1todos para
trabaar con par!metros -UF "par!metros como salida desde el
procedimiento almacenado#.
$esult#et: %s una representaci/n de una tabla de datos
provenientes de una consulta ()L de tipo select a la base de
datos, el resultado adem!s almacena la informaci/n con sus tipos
e&uivalentes en el len*uae Java, por eemplo el tipo varchar ser!
representado por un strin*, donde cada una de las columnas
corresponde a una columna de la tabla &ue *enere la consulta
()L.
#%&E'ception: La clase ()L%0ception $ sus subtipos
proporcionan informaci/n acerca de los errores $ avisos &ue se
producen mientras se est! accediendo a un ori*en de datos.
A diferencia de la ma$or parte de JDBC, &ue se de.ne mediante
interfaces, el soporte de e0cepciones se suministra en clases. La
clase b!sica para las e0cepciones &ue se producen durante la
eecuci/n de aplicaciones JDBC es ()L%0ception. Fodos los
m1todos de la API JDBC se declaran capaces de lan'ar
()L%0ceptions.
#%&(anin!: %s una e0cepci/n &ue proporciona informaci/n
sobre advertencias de acceso a bases de datos. Las advertencias
son en silencio encadenado al obeto cu$o m1todo hi'o &ue se
inform/.
Las advertencias pueden ser recuperadas de las clases
Connection, (tatement $ obetos 8esult(et.