Consultar Salário de Professores Usando PreparedStatement

MySQLBeginner
Pratique Agora

Introdução

Neste projeto, você aprenderá como usar JDBC (Java Database Connectivity) para consultar um banco de dados MySQL usando um PreparedStatement. O objetivo é recuperar os nomes e salários dos professores cujo salário é superior a 6000 da tabela instructor no banco de dados edusys.

👀 Visualização

JDBC project preview image

🎯 Tarefas

Neste projeto, você aprenderá:

  • Como estabelecer uma conexão com o banco de dados usando JDBC
  • Como criar um PreparedStatement com um espaço reservado (parameter placeholder)
  • Como executar a consulta e processar o conjunto de resultados
  • Como lidar com exceções e fechar recursos corretamente

🏆 Conquistas

Após concluir este projeto, você será capaz de:

  • Entender os fundamentos do JDBC e como usá-lo para interagir com um banco de dados MySQL
  • Escrever código Java que usa PreparedStatement para executar uma consulta SQL com um parâmetro
  • Recuperar e processar dados de um banco de dados usando JDBC
  • Implementar tratamento de erros e gerenciamento de recursos em uma aplicação JDBC

Iniciar o serviço MySQL e importar o banco de dados

Nesta etapa, você aprenderá como iniciar o serviço MySQL e importar o banco de dados edusys.sql. Siga os passos abaixo para completar esta etapa:

  1. Inicie o serviço MySQL. Você pode fazer isso executando o seguinte comando no seu terminal:

    sudo service mysql start
    
  2. Importe o banco de dados edusys.sql para o MySQL. Você pode fazer isso executando o seguinte comando no seu terminal:

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

    Este comando importará o banco de dados edusys.sql para o MySQL usando o usuário root.

Criar um diretório para o projeto Java

Nesta etapa, você aprenderá como criar um diretório para o projeto Java. Siga os passos abaixo para completar esta etapa:

  1. Crie um novo diretório para o seu projeto Java:

    mkdir /home/labex/project/salary
    cd /home/labex/project/salary
    
  2. Crie os subdiretórios necessários para o seu projeto:

    mkdir src lib bin
    
    • O diretório src conterá os arquivos de código fonte Java.
    • O diretório lib conterá quaisquer bibliotecas externas que seu projeto usar.
    • O diretório bin conterá os arquivos de classe Java compilados.

Mover o driver JDBC e o arquivo Java

Nesta etapa, você aprenderá como mover o driver JDBC e o arquivo JDBCQueryByPreparedStatement.java para os diretórios apropriados. Siga os passos abaixo para completar esta etapa:

  1. Mova o driver JDBC para o diretório lib:

    mv /home/labex/project/mysql-connector-java-8.0.21.jar /home/labex/project/salary/lib
    
  2. Mova o arquivo JDBCQueryByPreparedStatement.java para o diretório src:

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

Implementar o sistema de consulta

Nesta etapa, você implementará o código para o sistema de consulta de informações da universidade no arquivo JDBCQueryByPreparedStatement.java. Siga os passos abaixo para completar esta etapa:

  1. Abra o arquivo JDBCQueryByPreparedStatement.java em um editor de texto.

  2. Adicione o seguinte código ao método main():

         try {
             String url = "jdbc:mysql://localhost:3306/edusys";
             String username = "root";
             String password = "";
             // Establish database connection
             Connection connection = DriverManager.getConnection(url, username, password);
    
             // Prepare SQL statement with parameter placeholder
             String sql = "SELECT name, salary FROM instructor WHERE salary > ?";
             PreparedStatement preparedStatement = connection.prepareStatement(sql);
    
             // Set the parameter value
             preparedStatement.setDouble(1, 6000);
    
             // Execute the query
             ResultSet resultSet = preparedStatement.executeQuery();
    
             // Loop through the result set
             while (resultSet.next()) {
                 String name = resultSet.getString("name");
                 double salary = resultSet.getDouble("salary");
                 System.out.println(name + " " + salary);
             }
    
             // Close resources
             resultSet.close();
             preparedStatement.close();
             connection.close();
         } catch (SQLException e) {
             e.printStackTrace();
         }
    

    Este código conecta-se ao banco de dados MySQL, solicita ao usuário que selecione uma tabela para consultar, executa a consulta SQL apropriada e imprime os resultados no console.

  3. Salve o arquivo JDBCQueryByPreparedStatement.java.

Executar a Aplicação

Nesta etapa final, você executará a aplicação.

  1. Compile o arquivo Java:

    javac -d bin/ src/JDBCQueryByPreparedStatement.java
    
  2. Execute a aplicação:

    java -cp bin/:lib/mysql-connector-java-8.0.21.jar JDBCQueryByPreparedStatement
    

    Você deverá ver a seguinte saída:

    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
    

    Parabéns! Você concluiu o projeto com sucesso.

Resumo

Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.

✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar