Tutorial de JDBC

Entonces, en el mundo actual, donde principalmente tratamos con sitios web y bases de datos que se mantienen como si fueran lo más importante, pero si observamos de cerca, son los datos lo que más importa. Si miramos más de cerca, todos los desarrolladores están girando y trabajando sobre la web y las tecnologías móviles, pero lo que permanece igual son nuevamente los datos.

JDBC-Tutorial

Por lo tanto, existe la urgencia de averiguar cómo se están manejando los datos, por lo que este concepto entra en juego.

Veamos una descripción general de por qué necesitamos este término, que se puede interpretar mejor con la imagen que se proporciona a continuación.

¿Por qué necesitamos aprender java avanzado?

Como conocemos bien todos los conceptos de Core Java , ahora llega el momento de crear proyectos que darán como resultado la creación de una aplicación como producto final. Entonces, si solo conocemos el núcleo de Java, solo podemos crear aplicaciones que se puedan ejecutar en la máquina donde se almacenan los componentes (en palabras más simples, se puede decir dónde están escritos todos los códigos). Estos tipos de aplicaciones se conocen como aplicaciones independientes .

Nota: Las aplicaciones independientes, que son uno de los dos tipos de aplicaciones en el mundo de la programación, solo son válidas para el 5 % de las aplicaciones en el mundo real.  

Por lo tanto, el alcance es muy restringido si solo construimos aplicaciones independientes que dan como resultado un alcance muy pequeño de desarrollo y escalabilidad que da origen a java avanzado que a su vez da origen a 3 componentes principalmente a saber , JSP , Servlets y JDBC .para que las aplicaciones se ejecuten en varias máquinas. Con la evolución de estos 3 componentes, se elimina la restricción de ejecutar solo una máquina, ya que no era práctico para los usuarios en el mundo real, pero obligaba a los usuarios a instalarlos y luego usarlos. Ahora, este tipo de aplicaciones se conocen como aplicaciones web, que son las aplicaciones que brindan los servicios a los usuarios finales sin instalarlos. Estas aplicaciones se conocen como aplicaciones web y no son aplicaciones independientes.

Ahora debe preguntarse qué es JSP y Servlet y cómo se interrelaciona JDBC con ellos. Por el momento, solo concéntrese solo en JDBC para comenzar con qué es exactamente y cómo usarlo consultando la imagen que se muestra a continuación de la siguiente manera:

Nota: La conclusión extraída de la imagen es la siguiente:

  • JSP significa Java Server Pages, donde estas páginas se consideran componentes de vista como lógica de presentación .
  • El servlet está destinado al procesamiento interno, como la lectura, la obtención de valores de la base de datos, la comparación, etc. en el backend como Lógica de procesamiento en nuestro servlet de proceso. Los servlets también contienen clases Java para este procesamiento en segundo plano para la lógica de procesamiento.
  • JDBC está destinado a la conectividad de la aplicación Java en servlets, como se explica en nuestra base de datos .

¿Qué es JDBC?

 Tratemos de discutir desde cero si hasta ahora en el dominio Java simplemente estábamos escribiendo códigos (programando) e interactuando con la base de datos. ¿Alguna vez te has preguntado cómo se puede vincular internamente nuestro programa a una base de datos dándole un enorme poder para hacer proyectos y aplicaciones a partir de nuestro programa? Sí, es posible con la ayuda de este mecanismo. Discutamos en un escenario del mundo real que más adelante mapearemos con términos técnicos para obtener una comprensión técnica absoluta del mismo con una representación pictórica.

ejemplo del mundo real  

Considere dos lugares A y B. Ahora, las personas que residen en A no conocen el idioma de las personas que residen en el lugar B y viceversa, que vamos a mapear con términos técnicos para analizar los componentes principales dentro del JDBC.

Mapeando lo mismo con términos tecnológicos para ilustrar la ilustración real anterior. Aquí, el lugar A se denomina aplicación Java y, por lo tanto, el lugar B se denomina base de datos. Ahora, el traductor, como se mencionó anteriormente, que es responsable de convertir las llamadas de la aplicación Java en llamadas de la base de datos y las llamadas de la base de datos en llamadas de la aplicación Java, no es más que un ‘Software de controlador’. El camino entre las aplicaciones es ‘Conexión’ y, por último, el vehículo es nuestro ‘objeto de declaración’. Ahora, el ‘requisito’ anterior es nuestra consulta SQL y el ‘pequeño bloque’ generado después de procesar la declaración SQL por el motor de la base de datos se ha pasado en nada más que ‘ResultSet’. Ahora ,esta tecnología mediante la cual las aplicaciones Java se comunican con la base de datos es ‘Conectividad de base de datos Java’. A estas alturas, hemos terminado con una descripción clara y clara de JDBC y se sorprenderá de que ya lo hayamos cubierto, profundicemos para conocer el funcionamiento de los componentes que se describirán con mayor profundidad en la configuración del entorno de JDBC. . 

Ahora profundizaremos en el componente JDBC que, como se mencionó anteriormente, es una tecnología que se utiliza para conectar aplicaciones Java con la base de datos. Es una API que consta de muchas clases e interfaces mediante las cuales, con la ayuda de algunas clases e interfaces, podemos conectar la aplicación Java a la base de datos como se muestra en la imagen de arriba. Tiene principalmente dos paquetes, a saber: el paquete java.sql y el paquete javax.sql.

Nota: Como referencia anterior, SQL se toma como base de datos para ilustrar los nombres de los paquetes.  

Así es como vamos a cubrir las dolencias de JDBC para obtener cómo gira técnicamente todo el proceso.

  • ¿Qué es JDBC?
  • Necesidad de JDBC
  • Tipos de datos en JDBC
  • Arquitectura JDBC
  • Configuración del entorno JDBC
  • Pasos para conectar JDBC (HECHO)
  • Ejemplo de JDBC como implementación (HECHO)

4. Arquitectura JDBC 

Entonces, a partir de las imágenes anteriores, analizaremos las 5 principales terminologías encontradas, que son las siguientes:

  1. Controlador de software
  2. Objeto de declaración
  3. Conjunto resultante
  4. Objeto de conexión
  5. consulta SQL

5. Configuración del entorno JDBC

Ahora analicemos varios tipos de controladores en JDBC. Básicamente, hay 4 tipos de controladores estándar que se enumeran a continuación:

Ahora, debe estar preguntándose si su punto es qué controladores usar. La solución a esto es tan simple como que necesitamos usar el controlador de acuerdo con la base de datos con la que estamos interactuando. 

Nota: Los drivers a utilizar son directamente propios del tipo de base de datos con el que estamos tratando.

Los controladores se mencionan en el siguiente formato tabular correspondiente a la base de datos, que es el siguiente:

Base de datos Nombre del conductor 
mysql com.mysql.jdbc.Driver

Ahora debe estar preguntándose de dónde se importarán estos secadores enumerados. Entonces, para importar los controladores, debe descargar un archivo JAR de la web. Teniendo en cuenta que la base de datos utilizada con más frecuencia es MySQL, debe descargar un archivo JAR llamado ‘ mysql.connector ‘ y así sucesivamente con otras bases de datos.

Nota: No es un paso esencial ya que diferentes IDE poseen características diferentes. En algunos IDE, estos conectores están incorporados, como NetBeans, mientras que en Eclipse necesita importar este archivo JAR como se mencionó anteriormente simplemente descargando el archivo JAR correspondiente de Internet y cárguelo en el proyecto. 

Si no sabe cómo importar archivos JAR a bibliotecas en Java IDE, primero siga este paso.

6. ¿Pasos para conectar JDBC? 

Básicamente, hay siete pasos para conectar su aplicación Java para tratar con la base de datos. Aquí la base de datos puede estar estructurada o no estructurada, tenemos que tratar de acuerdo con lo mismo, lo que quedará claro al final de la ejecución de los pasos secuenciales. En general, tratamos principalmente con bases de datos MySQL u Oracle en lo que respecta a nuestra aplicación Java. Aquí nos ocuparemos de la base de datos MySQL para nuestra aplicación Java, en cuyo procesamiento solo tenemos que ejecutar estos pasos enumerados a continuación en orden secuencial para conectar JDBC, que es el siguiente:

  1. Importe el paquete requerido para la base de datos correspondiente.
  2. Cargue y registre los controladores JDBC.
    • Primero cargue y luego registre lo mismo
  3. Establecer la conexión
  4. Crear una declaración
  5. Ejecutar la consulta
  6. Procesar los resultados
  7. Cierra las conexiones

Analicemos los pasos anteriores seleccionando casos del mundo real para obtener una clara comprensión de nuestro concepto. Considerando una ilustración de redes móviles que es la siguiente: 

La implementación de JDBC en la vida real se ve con mayor frecuencia en las redes móviles, que se ilustra a continuación:

  • Considere que quiere hablar con alguien que está lejos. Para lo cual se necesita un dispositivo conocido como teléfono celular/telecomunicaciones que significa nuestro Paso 1.
  • Ahora el usuario necesita una red y una tarjeta SIM que es equivalente al proceso de carga y registro que significa el Paso 2.
  • Ahora, con una tarjeta SIM que funcione, se requiere trabajo físico para marcar números y presionar el botón de llamada que significa el paso 3 mientras intentamos establecer la conexión para viajar.
  • Cualquier mensaje que necesitemos entregar es equivalente a crear una declaración.
  • Ahora, una vez conectado, necesitamos pronunciar el mensaje tal como lo hemos pensado, lo que equivale a la ejecución de la consulta.
  • Ahora se recibirá una respuesta que era nuestro objetivo significa el paso 6 de procesamiento técnico de resultados en el caso de JDBC.
  • Por último, necesitamos presionar el botón en el dispositivo para cerrar la comunicación, de igual manera es una buena práctica cerrar las conexiones en el aspecto técnico que aquí es JDBC.

7. Implementación:

  • Supongamos que la base de datos con la que queremos tratar es MySQL. Entonces, primero debemos importar el paquete, para la base de datos SQL es ‘ java.sql.* ‘.
  • Ahora, según IDE (necesitamos cargar su archivo JAR correspondiente en nuestro proyecto en IDE donde se supone que JAR debe insertarse manualmente en el IDE, tomando ‘ eclipse IDE ‘ como referencia como IDE para ilustrar lo mismo en el siguiente ejemplo .
  • Ya hemos terminado de importar el JAR a nuestro proyecto. Ahora, para cargar el controlador, usaremos el método forName() escribiendo » com.mysql.driver_name «, que pertenece a la clase ‘ clase

Sintaxis:

class com.mysql.jdbc.Driver ;
  • Ahora, para establecer la conexión, tenemos que instanciar una interfaz llamada ‘Conexión’
  • Ahora las declaraciones son de tres tipos:
    1. Declaraciones normales:
    2. Declaraciones preparadas:
    3. Sentencias invocables: procedimientos almacenados
  • Una vez que se crea la declaración, ahora ejecutaremos la consulta en nuestra base de datos según la respuesta percibida de la base de datos. Supongamos que si queremos obtener datos de la base de datos, la respuesta es la estructura de la tabla aquí o si simplemente estamos insertando los valores, la respuesta es el número de filas de manera efectiva.
  • Por último, independientemente de lo que obtengamos, ya sea una tabla o simplemente filas, ahora simplemente necesitamos procesar los resultados.
  • Además, se recomienda una buena práctica cerrando las conexiones para liberar y liberar recursos de memoria cerrando el objeto de la interfaz y los objetos de declaración.

Ilustración: Configuración de JDBC

Java

// Java Program to Illustrate Setting Up of JDBC
 
// Importing SQL database
import java.sql.*;
 
// Main class to illustrate demo of JDBC
class GFG {
 
    // Main driver method
    public static void main(String[] args) throws Exception
    {
 
        // Loading and registering drivers
        // Optional from JDBC version 4.0
        Class.forName("oracle.jdbc.OracleDriver");
 
        // Step 2:Establishing a connection
        Connection con = DriverManager(
            "jdbc:oracle:thin:@localhost:1521:XE",
            "username", "password");
 
        // Step 3: Creating statement
        Statement st = con.createStatement();
 
        // Step 4: Executing the query and storing the
        // result
        ResultSet rs = st.executeQuery(
            "select * from Students where Marks >= 70");
 
        // Step 5: Processing the results
        while (rs.next()) {
            System.out.println(rs.getString("students"));
            System.out.println(rs.getInt("marks"));
        }
 
        // Step 6: Closing the connections
        // using close() method to release memory resources  
        con.close();
       
      // Display message for successful execution of program
      System.out.println("Steps in Setting Up of JDBC");
    }
}

Producción:

Steps in Setting Up of JDBC

Ahora avancemos y discutamos su interacción con la base de datos real después de configurar con éxito con la base de datos cómo se gestionan internamente las cosas. Aquí tendremos que crear dos clases, una es nuestra clase de conexión y la otra donde implementaremos en la clase application.java usando el objeto conector. Hemos terminado con la clase de conexión en la ilustración anterior, así que ahora analicemos finalmente la clase de aplicación con la ayuda de un ejemplo. Teniendo en cuenta la base de datos ‘MySQL aquí para interpretar y codificar lo mismo.

Implementación: La consulta en nuestra base de datos MySQL es la siguiente:

select * from Student;
insert into Students values(7, geeksforGeeks);
select username from Student where userid = 7;

Ejemplo:

Java

// Java Program to Illustrate Working Of JDBC
// with Above Query in Database
 
// Importing required classes
import java.io.*;
import java.util.*;
 
// Main class
// JDBC demo class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Declaring and initializing arguments that
        // needed to be passed later in getConnection()
        String url = "jdbc:mysql://localhost/test";
        String uname = "root";
        String pass = "";
 
        // Query from the database taken
        // Custom query taken to illustrate
        String query
            = "select username from Student where id=7";
 
        // Loading and registering drivers
        Class.forName("com.mysqljdbc.Driver");
 
        // Creating an connection object by
        // getConnection() method which is static method and
        // returns the instance of Connection class
 
        // This method takes 3 parameters as defined above
        Connection con
            = DriverManager.getConnection(url, uname, pass);
 
        Statement st = con.createStatement();
 
        // It returns a tabular structure so we need
        // ResultSet as it stores chunk of data into
        // structures
        ResultSet rs = st.executeQuery(query);
 
        // Now we are having our data in object of ResultSet
        // which is no more tabular
 
        // Note:
        // Fetching the above data by storing it as a String
        // Here pointer is lagging with data for which we
        // use next() method to
        // take it to next record
        rs.next();
 
        // Here we are fetching username column data
        String name = rs.getString("username");
 
        // Lastly print the data
        System.out.println(name);
 
        // It is  good practice to clsoe the connection
        // using close() method
 
        // Closing the statement first
        st.close();
       
        // Now close the connection also
        con.close();
    }
}

Producción:

GeeksforGeeks

Publicación traducida automáticamente

Artículo escrito por solankimayank y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *