¿Cómo conectarse a una base de datos en Java? - Tutorial de JDBC



Este artículo le dirá cómo conectar la base de datos MySQL en Java. JDBC es una de las API estándar de Java para la conectividad independiente de la base de datos entre Java y una amplia gama de bases de datos.

, siendo uno de los lenguajes de programación más destacados, proporciona un amplio soporte a las bases de datos. Nos ayuda a conectarnos a varias bases de datos a través de (Conectividad de base de datos Java). En este artículo, le diré cómo conectarse a una base de datos y ejecutar consultas usando JDBC.

Los siguientes temas se tratan en este artículo:





Introducción a JDBC

JDBC es una de las API estándar de Java para la conectividad independiente de la base de datos entre y una amplia gama de bases de datos.Esta API le permite codificar las declaraciones de solicitud de acceso, en lenguaje de consulta estructurado (SQL). Estaimplica principalmente abrir una conexión, crear una base de datos SQL, ejecutar consultas SQL y luego llegar a la salida.

La API de JDBC se puede utilizar para acceder a datos tabulares almacenados en cualquier base de datos relacional. Con esto, puede actualizar, guardar, recuperar y eliminar los datos de las bases de datos. Es similar a la Conectividad abierta de bases de datos (ODBC) proporcionada por Microsoft.



Para comprender mejor el funcionamiento de JDBC, profundicemos en el tema y comprendamos la arquitectura que se encuentra detrás de la conectividad de bases de datos de Java.

Componentes comunes de JDBC

La API de JDBC proporciona las siguientes interfaces y clases y menos

  • DriverManager: Se utiliza principalmente para gestionar una lista de controladores de bases de datos. El controlador que reconoce un determinado subprotocolo se utilizará para establecer una conexión de base de datos.



  • El conductor es una interfaz que maneja las comunicaciones con el servidor de la base de datos. También abstrae los detallesasociados al trabajar con objetos Driver.

  • Una conexión es una interfaz que consta de todos los métodos necesarios para conectarse a una base de datos. El objeto de conexión se ocupa de las funciones de comunicación de la base de datos. contexto.

Ahora pasemos al tema siguiente y veamos los pasos necesarios para crear una aplicación JDBC.

Pasos para crear la aplicación JDBC

Para crear una aplicación JDBC, debe seguir algunos pasos. Veamos cuáles son.

Pasos para crear la aplicación JDBC - Tutorial avanzado de Java - Edureka

  1. Importar los paquetes: Debe incluir todos los paquetes que contienen las clases JDBC necesarias para programación de bases de datos . Más a menudo, usando importar java.sql. * Será suficiente.

  2. Registre el controlador JDBC: Aquí tienes que inicializar un controlador para que puedas abrir un canal de comunicación con la base de datos.

  3. Abra una conexión: Aquí, puede utilizar el getConnection () método para crear un objeto Connection, que representa una conexión física con la base de datos.

  4. Ejecuta una consulta: En realidad, esto requiere utilizar un objeto de tipo Statement para crear y enviar una sentencia SQL a la base de datos.

  5. Extraiga datos del conjunto de resultados: Se sugiere que utilice el apropiado getXXX () método para recuperar los datos del conjunto de resultados.

  6. Limpiar el medio ambiente: Aquí, es fundamentalcerrar explícitamente todos los recursos de la base de datos en lugar de depender de la recolección de basura de la JVM.

Ahora, como ha visto varios pasos necesarios para crear una aplicación JDBC, veamos un código de ejemplo para crear una base de datos y establecer una conexión.

paquete Edureka import java.sql. * import java.sql.DriverManager public class Ejemplo {// Nombre del controlador JDBC y URL de la base de datos static final String JDBC_DRIVER = 'com.mysql.jdbc.Driver' static final String DB_URL = 'jdbc: mysql: // localhost / emp '// Credenciales de la base de datos static final String USER =' root 'static final String PASS =' 'public static void main (String [] args) {Connection conn = null Statement stmt = null try {// PASO 2 : Registre el controlador JDBC Class.forName ('com.mysql.cj.jdbc.Driver') // PASO 3: Abra una conexión System.out.println ('Conectando a la base de datos ...') conn = DriverManager.getConnection (DB_URL , 'root', '') // PASO 4: Ejecutar una consulta System.out.println ('Creando declaración ...') stmt = conn.createStatement () String sql sql = 'SELECT id, first, last, age FROM Employees 'ResultSet rs = stmt.executeQuery (sql) // PASO 5: Extraiga datos del conjunto de resultados while (rs.next ()) {// Recupere por nombre de columna int id = rs.getInt (' id ') int age = rs.getInt ('edad') Cadena primero = rs.getString ('primera') Cadena last = rs.getString ('last') // Mostrar valores System.out.print ('ID:' + id) System.out.print (', Edad:' + edad) System.out.print (', Primero : '+ primero) System.out.println (', Last: '+ last)} // PASO 6: Limpiar el entorno rs.close () stmt.close () conn.close ()} catch (SQLException se) {// Manejo de errores para JDBC se.printStackTrace ()} catch (Exception e) {// Manejo de errores para Class.forName e.printStackTrace ()} finalmente {// bloque finalmente usado para cerrar recursos try {if (stmt! = null) stmt.close ()} catch (SQLException se2) {} // no se puede hacer nada try {if (conn! = null) conn.close ()} catch (SQLException se) {se.printStackTrace ()} // end finalmente try} // end try System.out.println ('Goodbye!')} // end main} // end Ejemplo

El código anterior crea una tabla en su base de datos localhost. Para insertar los valores en la base de datos creada, puede consultar el siguiente código. Escribiré el código solo para el paso 4. El resto del código sigue siendo el mismo que el anterior.

// PASO 4: Ejecutar una consulta System.out.println ('Creando tabla en una base de datos dada ...') stmt = conn.createStatement () String sql = 'CREAR TABLE EMPLOYEES' + '(id INTEGER not NULL,' + 'first VARCHAR (255),' + 'last VARCHAR (255),' + 'age INTEGER,' + 'PRIMARY KEY (id))' stmt.executeUpdate (sql) System.out.println ('Tabla creada en una base de datos dada ... ') System.out.println (' Insertando registros en la tabla ... ') stmt = conn.createStatement () String sql =' INSERT INTO Employees VALUES (100, 'Kriss', 'Kurian', 18) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees VALUES (101, 'Enrique', 'John', 25) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees (102, 'Taylor', 'Swift' , 30) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees VALUES (103, 'Linkin', 'Park', 28) 'stmt.executeUpdate (sql) System.out.println (' Registros insertados en la tabla. .. ')

Así es como puede establecer una conexión con la base de datos e insertar valores en las tablas. Ahora vayamos más allá y comprendamos varios tipos de controladores JDBC

Tipos de controladores JDBC

Los controladores JDBC se utilizan para implementar las interfaces definidas en la API JDBC, para interactuar con el servidor de la base de datos.Esencialmente, un Controlador JDBC hace tres cosas y son las siguientes:
1. Establece una conexión con una fuente de datos.
2. Enviará consultas y actualizará declaraciones a la fuente de datos.
3. Finalmente, procesa los resultados.

Por ejemplo, los controladores JDBC le ayudan a abrir una conexión de base de datos para interactuar con ella enviando . Si desea saber más sobre los tipos de controladores JDBC, puede consultar este artículo sobre .

Ahora vayamos más allá y comprendamos las conexiones JDBC.

Conexiones JDBC

  • Importar paquetes JDBC: Añadir importar declaraciones a tu para importar las clases requeridas en su código Java.

  • Registre el controlador JDBC: In t su paso, para cargar la implementación del controlador deseada en la memoria para que pueda cumplir con las solicitudes JDBC. Hay dos métodos para registrar un conductor.

    • El método más adecuado para registrar un controlador es utilizar Java forName () método para cargar dinámicamente el archivo de clase del controlador en la memoria , que lo registra automáticamente. Este método es adecuado ya que le permite hacer que el registro del controlador sea configurable y portátil. Eche un vistazo al siguiente código:

      intente {Class.forName ('oracle.jdbc.driver.OracleDriver')} catch (ClassNotFoundException ex) System.out.println ('Error: no se puede cargar la clase del controlador!') System.exit (1)}
    • El segundo enfoque que puede utilizar para registrar un controlador es utilizar la estática registerDriver () método.

      intente {Driver myDriver = new oracle.jdbc.driver.OracleDriver () DriverManager.registerDriver (myDriver)} catch (ClassNotFoundException ex) {System.out.println ('Error: no se puede cargar la clase del controlador!') System.exit (1 )}
  • Deberías usar el registerDriver () si está utilizando una JVM no compatible con JDK, como la proporcionada por Microsoft. Aquí cada formulario requiere una base de datos URL .

  • Formulación de URL de base de datos: La formulación de URL es necesaria para crear una dirección con el formato adecuado que apunte a la base de datos a la que desea conectarse. Una vez que cargó el controlador, puede establecer una conexión usando el DriverManager.getConnection () método. Los métodos DriverManager.getConnection () son & menos

    • getConnection (URL de cadena)

      manejo de excepciones en pl sql
    • getConnection (URL de cadena, prop de propiedades)

    • getConnection (URL de cadena, usuario de cadena, contraseña de cadena)

  • Crea un objeto de conexión

Puede crear una conexión utilizando la URL de la base de datos, el nombre de usuario y la contraseña y también utilizando el objeto de propiedades.

  • Cerrar

Finalmente, para finalizar la sesión de la base de datos, debe cerrar todas las conexiones de la base de datos. Sin embargo, si lo olvida, el recolector de basura de Java cerrará la conexión cuando limpie los objetos obsoletos.

conn.close () // Usado para cerrar la conexión

Todo se trataba de la conectividad de bases de datos Java. Si desea saber más sobre JDBC, puede consultar este artículo en . Esto nos lleva al final del artículo sobre 'cómo conectarse a una base de datos'. Espero haber arrojado algo de luz sobre sus conocimientos sobre JDBC.

Revisar la por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo. Estamos aquí para ayudarlo en cada paso de su viaje, para que, además de estas preguntas de la entrevista de Java, se desarrolle un plan de estudios diseñado para estudiantes y profesionales que desean ser Desarrolladores de Java.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de este artículo sobre 'cómo conectarse a una base de datos' y nos comunicaremos con usted lo antes posible.