Introducción a la arquitectura JDBC

Java Database Connectivity (JDBC) es una API (interfaz de programa de aplicación) o una interfaz independiente de la plataforma que ayuda a conectar programas java con varias bases de datos como Oracle, My SQL, MS Access y SQL Server. Proporciona formas de consultar y actualizar la base de datos utilizando sentencias de actualización del lenguaje de consulta estructurado (SQL) como CREATE, DELETE, INSERT y UPDATE y consultas de consulta como SELECT. Es casi similar a ODBC (Open Database Connectivity) que fue proporcionado por Microsoft.

Para conectar el programa o la aplicación java con la base de datos, se deben seguir cinco pasos:

1. Cargue el controlador: el controlador ayuda a establecer una conexión con la base de datos, por lo tanto, el controlador debe cargarse una vez en el programa. Esto se puede hacer por dos métodos:

  • Class.forName (): al usar esto, el archivo de clase del controlador se carga en la memoria durante el tiempo de ejecución. No hay necesidad de crear un nuevo objeto. Por ejemplo:

Class.forName(“oracle.jdbc.driver.OracleDriver”);

  • DriverManager.registerDriver (): aquí DriverManager es una clase Java incorporada donde el registro es su miembro estático. Al usar esto, se llama al constructor de la clase de controlador durante el tiempo de compilación. En este nuevo objeto se crea. Por ejemplo:

DriverManager.registerDriver(new oracle.jdbd.driver.OracleDriver());

2. Creación de conexiones: después de cargar el controlador, se configura la conexión. El objeto de conexión usa nombre de usuario, contraseña y URL para configurar la conexión. La URL tiene un formato predefinido que contiene el nombre de la base de datos, el controlador utilizado, la dirección IP donde se almacena la base de datos, el número de puerto y el proveedor de servicios. La conexión se puede configurar mediante el comando:

Connection con = DriverManager.getConnection(URL, user, password);

3. Creación de una declaración: después de establecer la conexión, el usuario puede interactuar con la base de datos. Las interfaces como la declaración JDBC, PreparedStatement, CallableStatement proporcionan métodos que permiten al usuario enviar instrucciones SQL y obtener datos de la base de datos. El comando utilizado para crear la declaración es;

Statement stmt = con.createStatement();

4. Ejecutando Consulta: La consulta SQL se ejecuta para interactuar con la base de datos. Una consulta puede ser para actualizar / insertar en la base de datos o para recuperar datos. La interfaz de declaración proporciona dos métodos, es decir, el método executeQuery () para ejecutar consultas para recuperar datos, mientras que el método executeUpdate () para ejecutar consultas para actualizar o insertar. Por ejemplo:

int n = stmt.executeUpdate(“DELETE TABLENAME”);
if(n==1)
System.out.println(“Success”);
else
System.out.println(“Failed”);

5. Cerrar la conexión: después de ejecutar nuestra consulta, el usuario de datos que quería actualizar o recuperar se ha realizado, así que ahora es el momento de cerrar la conexión establecida. La interfaz de conexión proporciona un método close () para cerrar la conexión. Por ejemplo:

con.close();

Arquitectura JDBC

JDBC admite dos tipos de modelos de procesamiento para acceder a la base de datos, es decir, dos niveles y tres niveles.

1. Arquitectura de dos niveles:

Esta arquitectura ayuda al programa o aplicación Java a comunicarse directamente con la base de datos. Necesita un controlador JDBC para comunicarse con una base de datos específica. El usuario envía una consulta o solicitud a la base de datos y el usuario recibe los resultados. La base de datos puede estar presente en la misma máquina o en cualquier máquina remota conectada a través de una red. Este enfoque se llama arquitectura o configuración cliente-servidor.

2. Arquitectura de tres niveles:

En esto, no hay comunicación directa. Las solicitudes se envían al nivel medio, es decir, el navegador HTML envía una solicitud a la aplicación Java que luego se envía a la base de datos. La base de datos procesa la solicitud y envía el resultado de vuelta al nivel medio que luego se comunica con el usuario. Aumenta el rendimiento y simplifica la implementación de la aplicación.

Componentes de la arquitectura JDBC

  • Driver Manager: es una clase que contiene una lista de todos los controladores. Cuando se recibe una solicitud de conexión, coincide con la solicitud con el controlador de base de datos apropiado utilizando un protocolo llamado subprotocolo de comunicación. El controlador que coincide se utiliza para establecer una conexión.
  • Controlador: es una interfaz que controla la comunicación con el servidor de la base de datos. Los objetos DriverManager se utilizan para realizar la comunicación.
  • Conexión: es una interfaz que contiene métodos para contactar una base de datos.
  • Declaración: esta interfaz crea un objeto para enviar consultas o declaraciones SQL a la base de datos.
  • ResultSet: contiene los resultados recuperados después de la ejecución de las declaraciones o consultas SQL.
  • SQLException: esta clase maneja cualquier error que ocurra en la aplicación de la base de datos.

El diagrama arquitectónico JDBC básico se muestra a continuación con el posicionamiento de todos los componentes:

Interfaces

El paquete java.sql consta de muchas interfaces. Algunas interfaces populares se mencionan a continuación:

  • Interfaz del controlador: esta interfaz permite múltiples controladores de base de datos. Los objetos DriverManager se crean para comunicarse con la base de datos. Estos objetos son creados por DriverManager.registerDriver ();
  • Interfaz de conexión: la interfaz de conexión establece la conexión, es decir, la sesión entre el programa Java y la base de datos. Tiene muchos métodos como rollback (), close () etc.
  • Interfaz de declaración: esta interfaz proporciona métodos para la ejecución de las consultas SQL. Proporciona métodos de fábrica para obtener un objeto ResultSet. Algunos métodos de interfaz de instrucciones son executeQuery (), executeUpdate (), etc.
  • Interfaz de estado preparado: esta interfaz ayuda cuando las consultas SQL deben implementarse muchas veces. Acepta parámetros de entrada durante el tiempo de ejecución.
  • Interfaz CallableStatement: esta interfaz se utiliza cuando se debe acceder a los procedimientos almacenados. También acepta parámetros durante el tiempo de ejecución.
  • Interfaz ResultSet: esta interfaz ayuda a almacenar el resultado devuelto después de la ejecución de las consultas SQL.

Tipos de controladores JDBC

Hay cuatro tipos de controladores JDBC:

1. Controlador tipo 1 o puente JDBC-ODBC: este controlador actúa como un puente entre JDBC y ODBC. Convierte las llamadas JDBC en llamadas ODBC y luego envía la solicitud al controlador ODBC. Es fácil de usar pero el tiempo de ejecución es lento.

2. Controlador de tipo 2 o API nativa Controlador parcialmente de Java: este controlador utiliza la llamada JNI (Java Native Interface) en la API de cliente nativo específico de la base de datos. Es comparativamente más rápido que el controlador Tipo 1, pero requiere una biblioteca nativa y el costo de la aplicación también aumenta.

3. Controlador de tipo 3 o controlador de protocolo de red: estos controladores se comunican con el servidor de middleware JDBC mediante el protocolo de red patentado. Este middleware traduce el protocolo de red a llamadas específicas de la base de datos. Son independientes de la base de datos. Pueden cambiar de una base de datos a otra, pero son lentos debido a muchas llamadas de red.

4. Type-4 o Thin Driver: este controlador también se denomina controlador Java puro porque interactúan directamente con la base de datos. No requiere ninguna biblioteca nativa ni servidor de middleware. Tiene un mejor rendimiento que otros controladores, pero es relativamente lento debido a un aumento en una serie de llamadas de red.

Conclusión

Este artículo especifica la arquitectura JDBC, sus interfaces y los tipos de controladores para comunicarse o interactuar con la base de datos.

Ahora se mantienen las bases de datos de un día en cada sector, por lo tanto, es necesario actualizarlas y recuperar datos de ellas. Por lo tanto, comprender la arquitectura ayudaría a comprender los conceptos básicos de JDBC.

Artículos recomendados

Esta ha sido una guía para la arquitectura JDBC. Aquí discutimos los tipos de controladores, interfaces y componentes de la arquitectura JDBC. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. ¿Cómo instalar Java 8?
  2. Preguntas de la entrevista de JDBC
  3. ¿Cómo instalar Apache?