Basesdatos
JDBC
• JDBC (Java DataBase Connectivity) es la
tecnología Java que permite a las aplicaciones
interactuar directamente con motores de base de
datos relacionales.
• La API JDBC es una parte integral de la plataforma
Java, por lo tanto no es necesario descargar ningún
paquete adicional para usarla.
• JDBC provee una interfase única, que independiza
a las aplicaciones delmotor de la base de datos.
• Un driver JDBC es usado por la JVM para traducir
las invocaciones JDBC en invocaciones que la base
de datos entiende.
Arquitectura JDBC
Java Application
JDBC API
Data Base Drivers
Access
SQL
Server
DB2
Informix
MySQL
Sybase
Drivers JDBC
• Existen drivers JDBC para la mayoría de los motores
de base de datos. Típicamente, los fabricantes de
bases de datosproveen el driver JDBC para su
motor.
• Es posible encontrarlos en Internet:
– http://industry.java.sun.com/products/jdbc/drivers
• Hay cuatro tipos de JDBC drivers:
–
–
–
–
Tipo 1: JDBC-ODBC Bridge
Tipo 2: Native API, partially java
Tipo 3: JDBC Network Driver
Tipo 4: 100% Java
Driver Tipo 1 (JDBC-ODBC
Bridge)
Puente
JDBC-ODBC
Driver ODBC
Base de Datos
Código JAVA
API ODBC
• El driverJDBC-ODBC es parte de la plataforma Java. No es un
driver 100 % Java.
• Traduce invocaciones JDBC a invocaciones ODBC a través de
librerías ODBC del sistema operativo.
• No es una solución buena, pero en algunas situaciones es la
única, tal es el caso de Microsoft Access.
Desventajas
• Se requieren múltiples capas de software para hacer las
llamadas a la Base de Datos.
• Se requiere la instalación desoftware adicional
(configuración ODBC).
Driver Tipo 2 (Native API, partially
java)
Protocolo específico
del Proveedor
Driver
JDBC
Base de Datos
Código JAVA
Código Java y Nativo
• Conceptualmente es similar al driver de tipo 1, excepto
que se usa una capa menos (no está la capa de
traducción ODBC). No es un driver 100 % Java.
• Cuando se realiza una invocación a la base de datos, a
través deJBDC, el driver traduce el requerimiento en
algo que la API del fabricante de la base de datos
entiende.
• La base de datos, procesa el requerimiento y devuelve el
resultado a través de la API que lo reenvía al driver. El
driver formatea el resultado al estándar JDBC y lo
devuelve al programa.
Driver Tipo 3 (JDBC Network
Driver)
Driver
Tipo 1 ó 2
Base de Datos
JDBC Driver
Front-End que accede
almiddleware. Es un
´proxy´driver
Código JAVA
Servidor de
Acceso a DB
• Actúa como un front-end para acceso a servidores de
base de datos.
• El programa envía una invocación JDBC a través del
´proxy´ driver, quien lo envía a la capa intermedia o
middleware, sin traducción.
• El middleware completa el requerimiento usando otro
driver JDBC.
• El middleware habla con la base de datos, a través de
undriver Tipo 1 o 2.
• Requiere de la instalación de un middleware.
Driver Tipo 4
Protocolo específico
del Proveedor DriverJDBC
(Java Puro)
Código JAVA
Base de Datos
• Es un driver Java Puro, que habla directamente con
la base de datos.
• Es el método más eficiente de acceso a bases de
datos.
• No requiere de ninguna librería adicional ni de la
instalación de un middleware, con lo cual es dedeployment más simple.
• La mayoría de los fabricantes, proveen drivers JDBC
de tipo 4 para sus bases de datos.
La API JDBC
• Las clases e interfases de la API JDBC están en el
paquete java.sql.
• En estas se encuentran definidos métodos que permiten:
conectarse y recuperar información de la BD.
DriverManager
Statement
Connection
PreparedStatement
CallableStatement
ResultSetResultSetMetaData DataBaseMetaData
Conexión a la Base de Datos
• La conexión se establece a través del driver, que se
carga en ejecución mediante el método:
• Class.forName(String nombredelDriver)
• Una vez cargado el driver, la conexión a la BD se
realiza invocando a alguno de los siguientes métodos
de la clase java.sql.DriverManager :
• public static Connection getConnection(String url)
• public static...
Regístrate para leer el documento completo.