java

Páginas: 28 (6762 palabras) Publicado: 25 de julio de 2014
Curso de Java

TEMA 12
Acceso a Bases de Datos: JDBC
Conectividad JDBC
JDBC (Java Database Connectivity) es un conjunto de clases e interfaces escritos en
Java que ofrecen una API completa para la programación de bases de datos de
diferentes proveedores (Microsoft SQL Server, Oracle, MySQL, Interbase, Microsoft
Access, IBM DB2, PostgreSQL, etc...) usando instrucciones SQL. En otraspalabras,
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. El paquete actual de JDK incluye
JDBC y el puente JDBC-ODBC.
La necesidad de JDBC, a pesar de la existencia deODBC, viene dada porque ODBC
es un interfaz escrito en lenguaje C, que al no ser un lenguaje portable, haría
que las aplicaciones Java también perdiesen la portabilidad. Y además, ODBC
tiene el inconveniente de que se ha de instalar manualmente en cada máquina;
al contrario que los drivers JDBC, que al estar escritos en Java son
automáticamente instalables, portables y seguros.
Másrecientemente Microsoft
ha introducido nuevas API
detrás de ODBC. RDO, ADO y
OLE DB. Estos diseños se
mueven
en
la
misma
dirección
que
JDBC
en
muchas maneras, puesto que
se les da una orientación a
objeto basándose en clases
que se implementan sobre
ODBC.

Figura 12.1: Modelo de capas para la conexión a bases de datos
Jesús Cáceres Tello

Pág. 1 - 27

Curso de Java

JDBC realizavarias funciones:

§
§
§

Conecta con la base de datos; la BD puede ser local o remota
Envía las sentencias SQL
Procesa los resultados obtenidos
Connection con = DriverManager.getConnection (
"jdbc:odbc:wombat", "login", "password");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (rs.next()) {
int x = rs.getInt("a");
Strings = rs.getString("b");
float f = rs.getFloat("c");
}

Ejemplo 12.1: Conexión, envío de querys y procesamiento de datos con jdbc

Acceso de JDBC a bases de datos
El API JDBC soporta dos modelos diferentes de acceso a Bases de Datos, los
modelos de dos y tres capas.

Modelo de dos capas
Este modelo se basa en que la conexión entre la aplicación Java o el applet que se
ejecuta en elnavegador, se conectan directamente a la base de datos.
Applet / Aplicación Java

Máquina Cliente
(Unix, Windows, Linux... )

Controlador JDBC
Controlador JDBC

Protocolo de comunicación con la BD

Controlador de la Base de Datos

Servidor de
Bases de Datos

Figura 12.2: La aplicación o applet conecta directamente con la base de datos

Esto significa que el driver JDBC específicopara conectarse con la base de datos,
debe residir en la máquina cliente. La base de datos puede estar en cualquier
otra máquina y se accede a ella mediante la red. Esta es la configuración típica
Cliente/Servidor: el programa cliente envía instrucciones SQL a la base de datos,
ésta las procesa y envía los resultados de vuelta a la aplicación.

Jesús Cáceres Tello

Pág. 2 - 27

Curso deJava

Modelo de tres capas
En este modelo de acceso a las bases de datos, las instrucciones son enviadas a
una capa intermedia entre Cliente y Servidor, que es la que se encarga de enviar
las sentencias SQL a la base de datos y recoger el resultado desde la base de
datos. En este caso el usuario no tiene contacto directo, ni a través de la red, con la
máquina donde reside la base de datos.Applet / Aplicación Java

Máquina Cliente
(Unix, Windows, Linux... )

HTTP / CORBA ...

Servidor de Aplicaciones
Controlador JDBC
Controlador JDBC

Máquina Servidor
Lógica de Negocio

Protocolo de comunicación con la BD

Controlador de la Base de Datos

Servidor de
Bases de Datos

Figura 12.3: Modelo de tres capas en el acceso a bases de datos

Este modelo presenta una...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Java
  • Java
  • java
  • JAVA
  • java
  • java
  • javiera
  • Java

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS