Consultas SQL: Cómo Leer e Insertar Datos en Java

Clase 5 de 22Curso de Java SE: SQL y Bases de Datos

Resumen

¿Cómo realizar consultas SQL básicas con JDBC?

Conectar y manipular una base de datos mediante SQL es una habilidad invaluable para cualquier desarrollador. En esta clase abordaremos cómo realizar nuestras primeras consultas SQL utilizando JDBC, un puente entre la aplicación Java y la base de datos. Comenzaremos por establecer la conexión con la base de datos y luego procederemos a realizar consultas sencillas para leer y modificar datos.

¿Cómo establecer una conexión con la base de datos?

El primer paso en el manejo de bases de datos es establecer una conexión. Para esto, declararemos nuestras variables de tipo Connection, Statement, y ResultSet. Estas serán las herramientas principales para comunicarnos con la base de datos.

Connection myConn = null;
Statement myStmt = null;
ResultSet myRs = null;

Dentro de un bloque try, estableceremos la conexión y crearemos un objeto Statement que nos permitirá ejecutar consultas SQL. Este es el código necesario:

// Establecemos conexión
myConn = DriverManager.getConnection("url_de_la_bd", "usuario", "contraseña");

// Creamos el statement
myStmt = myConn.createStatement();
myRs = myStmt.executeQuery("SELECT firstName FROM employees");

// Procesamos los resultados
while (myRs.next()) {
    System.out.println("Nombre: " + myRs.getString("firstName"));
}

¿Cómo insertar datos en la base de datos usando PreparedStatement?

Además de leer datos, otra operación común es la inserción de nuevos registros. En lugar de utilizar un simple Statement, usaremos PreparedStatement para garantizar mayor seguridad y eficiencia.

  1. Declaración del PreparedStatement:

    Debemos cambiar el objeto Statement por PreparedStatement y preparar nuestra consulta SQL.

    PreparedStatement myPrepStmt = null;
    String sql = "INSERT INTO employees (firstName, lastName) VALUES (?, ?)";
    myPrepStmt = myConn.prepareStatement(sql);
    
  2. Asignación de valores a los parámetros:

    Una vez preparado, podemos establecer los valores que serán insertados en la tabla con setString.

    myPrepStmt.setString(1, "Johanna");
    myPrepStmt.setString(2, "Dorantes");
    
  3. Ejecución del insert:

    Finalmente, ejecutamos la inserción y verificamos el resultado:

    int rowsAffected = myPrepStmt.executeUpdate();
    if (rowsAffected > 0) {
        System.out.println("Se ha creado un nuevo empleado.");
    }
    

¿Cómo verificar las operaciones realizadas?

Para verificar nuestras operaciones, podemos utilizar herramientas como MySQL Workbench. Tras ejecutar nuestro código, abrimos la herramienta, realizamos un SELECT sobre la tabla, y comprobamos que los datos se han insertado correctamente:

SELECT * FROM employees;

En este ejemplo, verificamos que "Johanna Dorantes" haya sido añadida exitosamente a la tabla employees. Si todo está bien, la consulta reflejará los cambios realizados.

Consideraciones finales

El uso de JDBC para consultar y modificar una base de datos SQL es un aspecto esencial en el desarrollo de aplicaciones robustas. A través de cadena de conexión, declaración de objetos Statement y PreparedStatement, ejecutamos consultas y manipulamos datos con eficiencia. Al dominar estas primeras operaciones, está preparado para enfrentar desafíos más complejos en bases de datos. ¡Adelante, continúe explorando y mejorando sus habilidades!