Изменение таблицы учителей с использованием PreparedStatement

JavaJavaBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом проекте вы научитесь использовать JDBC и PreparedStatement для удаления данных из таблицы базы данных MySQL. Проект посвящен демонстрации преимуществ использования PreparedStatement по сравнению с обычными SQL-запросами для повышения безопасности и производительности.

👀 Предварительный просмотр

Скриншот предварительного просмотра проекта

🎯 Задачи

В этом проекте вы научитесь:

  • Как устанавливать соединение с базой данных с использованием JDBC
  • Как создавать PreparedStatement для выполнения DELETE-запроса
  • Как настраивать параметры в PreparedStatement
  • Как выполнять операцию DELETE и обрабатывать результаты

🏆 Достижения

После завершения этого проекта вы сможете:

  • Разобраться в важности использования PreparedStatement для операций с базой данных
  • Реализовать Java-программу, которая удаляет данные из таблицы базы данных MySQL с использованием PreparedStatement
  • Показать способность управлять соединениями с базой данных и ресурсами в Java-приложении
  • Применить наилучшие практики для безопасных и эффективных взаимодействий с базой данных

Запустить службу MySQL и импортировать базу данных

В этом шаге вы научитесь запускать службу MySQL и импортировать базу данных edusys.sql. Следуйте шагам ниже, чтобы выполнить этот шаг:

  1. Запустите службу MySQL. Вы можете сделать это, выполнив следующую команду в терминале:

    sudo service mysql start
  2. Импортируйте базу данных edusys.sql в MySQL. Вы можете сделать это, выполнив следующую команду в терминале:

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

Эта команда импортирует базу данных edusys.sql в MySQL с использованием пользователя root.

Создать новый Java-проект

В этом шаге вы научитесь создавать новую директорию для Java-проекта и перемещать в нее необходимые файлы.

  1. Создайте новую директорию для Java-проекта:

    mkdir teacher teacher/src teacher/lib teacher/bin
  2. Переместите пакет драйвера JDBC в директорию teacher/lib:

    mv mysql-connector-java-8.0.21.jar./teacher/lib
  3. Переместите файл JDBCDeleteByPreparedStatement.java в директорию teacher/src:

    mv JDBCDeleteByPreparedStatement.java./teacher/src

Реализация системы удаления

В этом шаге вы реализуете код для Системы удаления информации о университете в файле 'JDBCDeleteByPreparedStatement.java'. Следуйте шагам ниже, чтобы выполнить этот шаг.

  1. Откройте файл JDBCDeleteByPreparedStatement.java в текстовом редакторе.

  2. Добавьте следующий код в метод main():

         Connection connection = null;
         PreparedStatement preparedStatement = null;
         try {
             String url = "jdbc:mysql://localhost:3306/edusys";
             String username = "root";
             String password = "";
             // Устанавливаем соединение с базой данных
             connection = DriverManager.getConnection(url, username, password);
    
             // Создаем и готовим SQL-запрос на удаление
             String deleteSQL = "DELETE FROM instructor WHERE name =?";  // Используем占位符 для параметра
             preparedStatement = connection.prepareStatement(deleteSQL);
             preparedStatement.setString(1, "Wu");  // Устанавливаем значение параметра
    
             // Выполняем операцию удаления
             int affectedRows = preparedStatement.executeUpdate();
             System.out.println("Операция удаления затронула " + affectedRows + " строк");
         } catch (SQLException e) {
             e.printStackTrace();
         } finally {
             // Закрываем соединение и освобождаем ресурсы
             try {
                 if (preparedStatement!= null) {
                     preparedStatement.close();
                 }
                 if (connection!= null) {
                     connection.close();
                 }
             } catch (SQLException e) {
                 e.printStackTrace();
             }
         }

    Этот код подключается к базе данных MySQL, предлагает пользователю выбрать таблицу для запроса, выполняет соответствующий SQL-запрос и выводит результаты в консоль.

  3. Сохраните файл JDBCDeleteByPreparedStatement.java.

Запустить приложение

В этом финальном шаге вы запустите приложение.

  1. Откройте терминал и перейдите в директорию teacher:

    cd ~/project/teacher
  2. Скомпилируйте Java-файл:

    javac -d bin/ src/JDBCDeleteByPreparedStatement.java
  3. Запустите приложение:

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

Вы должны увидеть следующий вывод:

The delete operation affected 1 rows

Поздравляем! Вы успешно завершили проект.

✨ Проверить решение и практиковаться

Резюме

Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.