java jdbc tutorial what is jdbc
Comenzando con lo básico, este tutorial de JDBC explica los componentes, la arquitectura y los tipos de controladores en Java Database Connectivity (JDBC):
Este tutorial explica qué es JDBC, sus versiones lanzadas hasta ahora, cuáles son los requisitos previos necesarios antes de continuar con JDBC, tipos de controladores, etc. Al final de este tutorial, conocerá los conceptos básicos de Java Database Connectivity o JDBC y dónde podemos usarlo.
Comencemos este tutorial con los conceptos básicos de JDBC.
Lo que vas a aprender:
Lista de tutoriales de Java JDBC
Tutorial #1: ¿Qué es JDBC (conectividad de base de datos Java)? (Este tutorial)
Tutorial #2: Tutorial de conexión Java JDBC con ejemplo de programación
Tutorial #3: JDBC DriverManager, JDBC PreparedStatement y Statement
Tutorial #4: JDBC ResultSet: cómo utilizar Java ResultSet para recuperar datos
Tutorial #5: Gestión de transacciones Java JDBC con ejemplo
Tutorial #6: Manejo de excepciones JDBC: cómo manejar excepciones SQL
Tutorial #7: Tutorial de procedimiento almacenado y procesamiento por lotes de JDBC
Tutorial #8: Más de 25 preguntas y respuestas principales de las entrevistas de JDBC
¿Qué es JDBC?
En la mayoría de las aplicaciones Java, siempre es necesario interactuar con las bases de datos para recuperar, manipular y procesar los datos. Para este propósito, se ha introducido Java JDBC.
JDBC es la forma abreviada que se utiliza habitualmente para la conectividad de bases de datos Java. Al usar JDBC, podemos interactuar con diferentes tipos de bases de datos relacionales como Oracle, MySQL, MS Access, etc.
Antes de JDBC, se introdujo la API ODBC para conectarse y realizar operaciones con la base de datos. ODBC usa un controlador ODBC que depende de la plataforma porque fue escrito en lenguaje de programación C. La API de JDBC está escrita en lenguaje Java, es independiente de la plataforma y hace que Java sea independiente de la misma.
El siguiente diagrama muestra el flujo básico de JDBC:
Versiones de JDBC
Inicialmente, Sun Microsystems había lanzado JDBC en JDK 1.1 el 19 de febrero de 1997. Después de eso, ha sido parte de la plataforma Java.
La siguiente tabla contiene versiones e implementaciones de JDBC:
Versión de JDBC | Implementación de JDK | Año |
---|---|---|
JDBC 4.3 | Java SE 9 | 2017 |
JDBC 1.2 | JDK 1.1 | 1997 |
JDBC 2.1 | JDK 1.2 | 1999 |
JDBC 3.0 | JDK 1.4 | 2001 |
JDBC 4.0 | Java SE 6 | 2006 |
JDBC 4.1 | Java SE 7 | 2011 |
JDBC 4.2 | Java SE 8 | 2014 |
Requisito previo
Antes de continuar con el tutorial de JDBC, debe tener buenos conocimientos sobre Java para poder utilizar JDBC en programas Java.
=> Lectura recomendada: Tutoriales de Java
Los requisitos previos para implementar JDBC en aplicaciones Java son los siguientes:
1. Java debe instalarse en el sistema donde desea crear la aplicación Java y utilizar JDBC.
Consulte este Enlace para la instalación de Java.
2. Debe tener los archivos jar del controlador JDBC adecuados para conectarse con DBMS. Cada base de datos tiene diferentes archivos jar del controlador JDBC.
Puede descargar estos archivos para la base de datos específica usando los enlaces en la siguiente tabla:
Base de datos con enlace de descarga | Nombre del proveedor del controlador JDBC | Nombre de archivo JAR |
---|---|---|
MySQL | Oracle Corporation | MySQLmysql-conector-java-VERSION.jar |
Oráculo | Oracle Corporation | Oráculoojdbc8.jar |
servidor SQL | Corporación Microsoft | servidor SQLsqljdbc41.jar, sqljdbc42.jar |
Postgre SQL | Grupo de desarrollo global de PostgreSQL | Postgre SQLpostgresql-VERSION.jar |
SQLite | Xerial.org | sqlite-jdbc-VERSION.jar |
MS Access | UCanAccess.com | MS Accessucanaccess-VERSION.jar |
Tipos de controladores en JDBC
Ahora, analicemos los tipos de controlador en JDBC para ayudarlo a elegir el adecuado para su programa.
Todos los RDMS (Sistema de gestión de bases de datos relacionales) necesitan un controlador si se debe acceder a ellos desde fuera de su sistema. Por lo tanto, se requiere el controlador JDBC para ejecutar consultas SQL y obtener el resultado de la base de datos.
Hay 4 tipos diferentes de controladores disponibles en JDBC. Se clasifican según la técnica que se utiliza para acceder a una base de datos.
Son los siguientes:
- Tipo I: JDBC- Puente ODBC
- Tipo II: APT nativo: controlador parcialmente Java
- Tipo III: Protocolo de red: controlador totalmente Java
- Tipo IV: controlador delgado: controlador totalmente Java
Tipo I: JDBC- Puente ODBC
En este tipo de controlador, JDBC - ODBC Bridge actúa como una interfaz entre el cliente y el servidor de base de datos. Cuando un usuario usa la aplicación Java para enviar solicitudes a la base de datos usando JDBC - ODBC Bridge, primero convierte la API JDBC a la API ODBC y luego la envía a la base de datos. Cuando se recibe el resultado de la base de datos, se envía a la API de ODBC y luego a la API de JDBC.
Este controlador depende de la plataforma porque utiliza ODBC, que depende de la biblioteca nativa del sistema operativo. En este tipo, el controlador JDBC - ODBC debe instalarse en cada sistema cliente y la base de datos debe admitir el controlador ODBC.
Cuando no se trata de la instalación en la máquina cliente, podemos usar este controlador. Es fácil de usar pero ofrece un bajo rendimiento debido a la conversión de las llamadas al método JDBC a las llamadas al método ODBC.
Nota: está disponible en JDK 1.2
Java 8 no es compatible con este tipo de controlador. Oracle recomienda que el usuario utilice los controladores JDBC proporcionados por sus proveedores de bases de datos.
Figura: Tipo I: JDBC - Controlador de puente ODBC
Tipo II: API nativa: controlador parcialmente Java
Es similar al controlador de tipo I. Aquí, la parte ODBC se reemplaza con código nativo en el controlador de tipo II. Esta parte del código nativo está dirigida a un producto de base de datos específico. Utiliza las bibliotecas del lado del cliente de la base de datos. Este controlador convierte las llamadas al método JDBC en llamadas nativas de la API nativa de la base de datos.
Cuando la base de datos recibe las solicitudes del usuario, las solicitudes se procesan y devuelven con los resultados en el formato nativo, que se convertirán al formato JDBC y se entregarán a la aplicación Java.
Los proveedores de bases de datos lo adoptaron instantáneamente porque era rápido y económico de implementar. También está en el formato nativo de la base de datos.
Este tipo de controlador ofrece una respuesta y un rendimiento más rápidos que el controlador de Tipo I.
Figura: Tipo II: APT nativo: controlador parcialmente Java
Tipo III: Protocolo de red
El controlador de tipo III está completamente escrito en Java. Es como un enfoque de 3 niveles para acceder a la base de datos. Envía las llamadas al método JDBC a un servidor intermedio. En nombre del JDBC, el servidor intermedio se comunica con la base de datos. El servidor de aplicaciones (de nivel intermedio o medio) convierte las llamadas JDBC directa o indirectamente al protocolo de base de datos específico del proveedor.
Este enfoque no aumenta la eficiencia de la arquitectura y también es costoso, debido a esto, la mayoría de los proveedores de bases de datos no prefieren este controlador. Dado que se utiliza el servidor de aplicaciones, es necesario tener un buen conocimiento sobre el servidor de aplicaciones para utilizar este enfoque de manera eficiente.
Figura: Tipo III: Protocolo de red - Controlador totalmente Java
Tipo IV: controlador delgado
El controlador de tipo IV se implementa directamente y convierte las llamadas JDBC directamente en un protocolo de base de datos específico del proveedor. Hoy en día, la mayoría de los controladores JDBC son controladores de tipo IV. Está escrito completamente en Java y, por lo tanto, es independiente de la plataforma. Se instala dentro de la JVM (máquina virtual Java) del cliente, por lo que no es necesario instalar ningún software en el lado del cliente o del servidor. Esta arquitectura de controlador tiene toda la lógica para comunicarse directamente con la base de datos en un solo controlador.
Proporciona un mejor rendimiento que el otro tipo de controladores. Permite una fácil implementación. Hoy en día, este tipo de controlador lo desarrolla el propio proveedor de la base de datos para que los programadores puedan utilizarlo directamente sin depender de otras fuentes.
Figura: Tipo IV: Controlador delgado - Controlador totalmente Java
Aplicaciones de JDBC
JDBC se puede utilizar en aplicaciones Java, Applets, Servlets o cualquier otro programa Java en el que desee conectarse con DB.
Por ejemplo, Aplicaciones independientes, sitios web, aplicaciones bancarias, etc.
Arquitectura y componentes de JDBC
Arquitectura JDBC: Admite dos tipos de modelos de procesamiento para acceder a la base de datos.
Estos son:
- Arquitectura de dos niveles
- Arquitectura de tres niveles
#1) Arquitectura de dos niveles:
Ayuda a la aplicación Java a conectarse directamente con la base de datos. Necesita un controlador JDBC para la comunicación con una base de datos en particular. El usuario envía las solicitudes a DB y recibe la respuesta directamente sin ningún mediador, excepto el controlador JDBC. La base de datos, ya sea en la misma máquina o en una máquina remota, está conectada a través de una red. Puede denominarse arquitectura cliente-servidor.
# 2) Arquitectura de tres niveles:
Es lo opuesto a la arquitectura de dos niveles. No hay comunicación directa entre el usuario y la base de datos. El usuario envía la solicitud al nivel medio (servidor de aplicaciones) desde el cual se envía nuevamente la solicitud a la base de datos. Luego, la base de datos procesa la solicitud y envía el resultado al nivel medio desde el cual el usuario recibe el resultado / respuesta.
Simplifica la implementación y la administración. Los directores del Sistema de Información de Gestión (MIS) utilizan esta arquitectura, ya que simplifica el mantenimiento del control de acceso y las actualizaciones de los datos corporativos.
Arquitectura de tres niveles
Componentes de JDBC
Hay 4 componentes principales disponibles en JDBC. Son:
- API JDBC
- Administrador de controladores JDBC
- Conjunto de pruebas JDBC
- JDBC - Puente ODBC
# 1) API JDBC: Proporciona acceso a bases de datos relacionales desde cualquier programa Java. La API de JDBC tiene un conjunto de clases e interfaces que están escritas en Java que proporciona una herramienta / API estándar para los desarrolladores. Con la API de JDBC, puede crear y ejecutar consultas SQL, recibir el resultado, realizar cambios en los datos y guardar los resultados en la base de datos.
Puede interactuar con múltiples bases de datos como Oracle, MySQL, MS Access desde un solo programa Java. Con la API de JDBC, no es necesario escribir un programa para acceder a Oracle DB, otro programa para acceder a MySQL, otro programa para acceder a MS Access, etc.
La API de JDBC es parte de Java Platform que tiene Java Standard Edition (Java SE) y Java Enterprise Edition (Java EE).
La API de JDBC 4.0 tiene 2 paquetes.
- Java.sql
- Javax.sql
Ambos paquetes están disponibles en Java SE y Java EE.
# 2) Administrador de controladores JDBC: La capa de administración tradicional de JDBC es Driver Manager y actúa como una interfaz entre el usuario y los controladores. Mantiene los detalles de seguimiento de los controladores que están disponibles y establece una conexión entre la base de datos y el controlador apropiado. Define los objetos que pueden conectar la aplicación Java al controlador JDBC. Por lo tanto, es la columna vertebral de la API de JDBC.
Discutiremos el Administrador de controladores en el próximo tutorial.
# 3) Conjunto de pruebas JDBC: Ayuda a saber si los controladores JDBC ejecutarán el programa o no. Proporciona la confianza y conformidad de que el programa lo ejecutarán los controladores JDBC.
# 4) Puente JDBC- ODBC: Esto hace uso de controladores ODBC como controladores JDBC. Es similar al controlador TYPE I que ya se describe en la sección de tipos de controladores de este tutorial.
Puntos clave a tener en cuenta:
- JDBC se utiliza para interactuar con la base de datos desde cualquier programa Java, como aplicaciones Java, Applets, Servlets.
- La última versión de JDBC es JDBC 4.3 Es una versión estable desde 21S tSeptiembre de 2017.
- Controlador de tipo I: JDBC ODBC Bridge: fácil de usar, pero ODBC depende de la plataforma. También es un controlador de bajo rendimiento.
- Controlador de tipo II: API nativa: la parte del código nativo reemplazó la parte ODBC en el controlador de tipo I y se dirigió a un producto de base de datos específico. Es más rápido que el controlador de tipo I.
- Controlador de tipo III: El servidor de aplicaciones o de nivel intermedio se utiliza como interfaz entre el controlador JDBC y la base de datos. Se necesitan conocimientos de Application Server para utilizarlo de forma eficaz.
- Conductor tipo IV: El controlador JDBC se comunica inmediatamente con la base de datos. Los proveedores de bases de datos utilizan este tipo de controlador y se lo proporcionan a los clientes o desarrolladores.
- JDBC se puede utilizar en cualquier programa que esté escrito en lenguaje Java.
Conclusión
En este tutorial de JDBC, hemos aprendido los conceptos básicos de JDBC y los requisitos previos necesarios antes de continuar con JDBC. Hemos visto sus versiones y 4 tipos de controladores que ayudan a los desarrolladores a decidir el tipo de controlador a utilizar en los programas.
También discutimos la arquitectura de JDBC y sus 4 componentes centrales.
Lectura recomendada
- JDBC DriverManager, JDBC PreparedStatement y Statement
- Tutorial de ChromeDriver Selenium: Pruebas de Selenium Webdriver en Chrome
- Tutorial de Java SWING: contenedor, componentes y manejo de eventos
- Tutorial de JAVA para principiantes: más de 100 tutoriales prácticos en vídeo de Java
- Marco basado en datos en Selenium WebDriver usando Apache POI
- Manejo de iFrames con el método switchTo () de Selenium WebDriver
- Pruebas de accesibilidad con Selenium Webdriver con ejemplo de código
- Cómo ejecutar Selenium WebDriver en diferentes navegadores populares