Consultar el salario de profesores usando PreparedStatement

MySQLMySQLBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este proyecto, aprenderá a usar JDBC (Java Database Connectivity) para consultar una base de datos MySQL usando un PreparedStatement. El objetivo es recuperar los nombres y salarios de los profesores cuyo salario es mayor que 6000 de la tabla instructor en la base de datos edusys.

👀 Vista previa

Imagen de vista previa del proyecto JDBC

🎯 Tareas

En este proyecto, aprenderá:

  • Cómo establecer una conexión a la base de datos usando JDBC
  • Cómo crear un PreparedStatement con un marcador de posición de parámetro
  • Cómo ejecutar la consulta y procesar el conjunto de resultados
  • Cómo manejar excepciones y cerrar los recursos adecuadamente

🏆 Logros

Después de completar este proyecto, podrá:

  • Comprender los conceptos básicos de JDBC y cómo usarlo para interactuar con una base de datos MySQL
  • Escribir código Java que use PreparedStatement para ejecutar una consulta SQL con un parámetro
  • Recuperar y procesar datos de una base de datos usando JDBC
  • Implementar el manejo de errores y la gestión de recursos en una aplicación JDBC

Iniciar el servicio de MySQL e importar la base de datos

En este paso, aprenderá a iniciar el servicio de MySQL e importar la base de datos edusys.sql. Siga los pasos siguientes para completar este paso:

  1. Inicie el servicio de MySQL. Puede hacer esto ejecutando el siguiente comando en su terminal:

    sudo service mysql start
  2. Importe la base de datos edusys.sql en MySQL. Puede hacer esto ejecutando el siguiente comando en su terminal:

    mysql -u root < /home/labex/project/edusys.sql

Este comando importará la base de datos edusys.sql en MySQL utilizando el usuario root.

Crear un directorio de proyecto de Java

En este paso, aprenderá a crear un directorio de proyecto de Java. Siga los pasos siguientes para completar este paso:

  1. Cree un nuevo directorio para su proyecto de Java:

    mkdir /home/labex/project/salary
    cd /home/labex/project/salary
  2. Cree los subdirectorios necesarios para su proyecto:

    mkdir src lib bin
    • El directorio src contendrá sus archivos de código fuente Java.
    • El directorio lib contendrá cualquier biblioteca externa que utilice su proyecto.
    • El directorio bin contendrá los archivos de clase Java compilados.

Mover el controlador JDBC y el archivo Java

En este paso, aprenderá a mover el controlador JDBC y el archivo JDBCQueryByPreparedStatement.java a los directorios adecuados. Siga los pasos siguientes para completar este paso:

  1. Mueva el controlador JDBC al directorio lib:

    mv /home/labex/project/mysql-connector-java-8.0.21.jar /home/labex/project/salary/lib
  2. Mueva el archivo JDBCQueryByPreparedStatement.java al directorio src:

    mv /home/labex/project/JDBCQueryByPreparedStatement.java /home/labex/project/salary/src

Implementar el sistema de consulta

En este paso, implementará el código para el sistema de consulta de información de la universidad en el archivo JDBCQueryByPreparedStatement.java. Siga los pasos siguientes para completar este paso:

  1. Abra el archivo JDBCQueryByPreparedStatement.java en un editor de texto.

  2. Agregue el siguiente código al método main():

         try {
             String url = "jdbc:mysql://localhost:3306/edusys";
             String username = "root";
             String password = "";
             // Establecer conexión a la base de datos
             Connection connection = DriverManager.getConnection(url, username, password);
    
             // Preparar la declaración SQL con un marcador de posición de parámetro
             String sql = "SELECT name, salary FROM instructor WHERE salary >?";
             PreparedStatement preparedStatement = connection.prepareStatement(sql);
    
             // Establecer el valor del parámetro
             preparedStatement.setDouble(1, 6000);
    
             // Ejecutar la consulta
             ResultSet resultSet = preparedStatement.executeQuery();
    
             // Recorrer el conjunto de resultados
             while (resultSet.next()) {
                 String name = resultSet.getString("name");
                 double salary = resultSet.getDouble("salary");
                 System.out.println(name + " " + salary);
             }
    
             // Cerrar los recursos
             resultSet.close();
             preparedStatement.close();
             connection.close();
         } catch (SQLException e) {
             e.printStackTrace();
         }

    Este código se conecta a la base de datos MySQL, le pide al usuario que seleccione una tabla para consultar, ejecuta la consulta SQL adecuada e imprime los resultados en la consola.

  3. Guarde el archivo JDBCQueryByPreparedStatement.java.

Ejecutar la Aplicación

En este último paso, ejecutará la aplicación.

  1. Compile el archivo Java:
javac -d bin/ src/JDBCQueryByPreparedStatement.java
  1. Ejecute la aplicación:
java -cp bin/:lib/mysql-connector-java-8.0.21.jar JDBCQueryByPreparedStatement

Debería ver la siguiente salida:

Srinivasan 65000.0
Wu 90000.0
Mozart 40000.0
Einstein 95000.0
El Said 60000.0
Gold 87000.0
Katz 75000.0
Califieri 62000.0
Singh 80000.0
Crick 72000.0
Brandt 92000.0
Kim 80000.0

¡Felicitaciones! Ha completado con éxito el proyecto.

✨ Revisar Solución y Practicar

Resumen

¡Felicitaciones! Ha completado este proyecto. Puede practicar más laboratorios en LabEx para mejorar sus habilidades.