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

🎯 Задачи
В этом проекте вы научитесь:
- Как устанавливать соединение с базой данных с использованием JDBC
- Как создавать PreparedStatement для выполнения DELETE-запроса
- Как настраивать параметры в PreparedStatement
- Как выполнять операцию DELETE и обрабатывать результаты
🏆 Достижения
После завершения этого проекта вы сможете:
- Разобраться в важности использования PreparedStatement для операций с базой данных
- Реализовать Java-программу, которая удаляет данные из таблицы базы данных MySQL с использованием PreparedStatement
- Показать способность управлять соединениями с базой данных и ресурсами в Java-приложении
- Применить наилучшие практики для безопасных и эффективных взаимодействий с базой данных
Запустить службу MySQL и импортировать базу данных
В этом шаге вы научитесь запускать службу MySQL и импортировать базу данных edusys.sql. Следуйте шагам ниже, чтобы выполнить этот шаг:
Запустите службу MySQL. Вы можете сделать это, выполнив следующую команду в терминале:
sudo service mysql startИмпортируйте базу данных
edusys.sqlв MySQL. Вы можете сделать это, выполнив следующую команду в терминале:mysql -u root < /home/labex/project/edusys.sql
Эта команда импортирует базу данных edusys.sql в MySQL с использованием пользователя root.
Создать новый Java-проект
В этом шаге вы научитесь создавать новую директорию для Java-проекта и перемещать в нее необходимые файлы.
Создайте новую директорию для Java-проекта:
mkdir teacher teacher/src teacher/lib teacher/binПереместите пакет драйвера JDBC в директорию
teacher/lib:mv mysql-connector-java-8.0.21.jar./teacher/libПереместите файл
JDBCDeleteByPreparedStatement.javaв директориюteacher/src:mv JDBCDeleteByPreparedStatement.java./teacher/src
Реализация системы удаления
В этом шаге вы реализуете код для Системы удаления информации о университете в файле 'JDBCDeleteByPreparedStatement.java'. Следуйте шагам ниже, чтобы выполнить этот шаг.
Откройте файл
JDBCDeleteByPreparedStatement.javaв текстовом редакторе.Добавьте следующий код в метод
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-запрос и выводит результаты в консоль.
Сохраните файл
JDBCDeleteByPreparedStatement.java.
Запустить приложение
В этом финальном шаге вы запустите приложение.
Откройте терминал и перейдите в директорию
teacher:cd ~/project/teacherСкомпилируйте Java-файл:
javac -d bin/ src/JDBCDeleteByPreparedStatement.javaЗапустите приложение:
java -cp bin/:lib/mysql-connector-java-8.0.21.jar JDBCDeleteByPreparedStatement
Вы должны увидеть следующий вывод:
The delete operation affected 1 rows
Поздравляем! Вы успешно завершили проект.
Резюме
Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.



