使用 PreparedStatement 修改教师表

JavaJavaBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本项目中,你将学习如何使用 JDBC 和 PreparedStatement 从 MySQL 数据库表中删除数据。该项目重点展示使用 PreparedStatement 相较于常规 SQL 语句在提高安全性和性能方面的优势。

👀 预览

项目预览截图

🎯 任务

在本项目中,你将学习:

  • 如何使用 JDBC 建立数据库连接
  • 如何创建 PreparedStatement 来执行 DELETE 查询
  • 如何在 PreparedStatement 中设置参数
  • 如何执行 DELETE 操作并处理结果

🏆 成果

完成本项目后,你将能够:

  • 理解在数据库操作中使用 PreparedStatement 的重要性
  • 使用 PreparedStatement 实现一个从 MySQL 数据库表中删除数据的 Java 程序
  • 在 Java 应用程序中展示管理数据库连接和资源的能力
  • 应用安全高效的数据库交互最佳实践

启动 MySQL 服务并导入数据库

在本步骤中,你将学习如何启动 MySQL 服务并导入 edusys.sql 数据库。请按照以下步骤完成此操作:

  1. 启动 MySQL 服务。你可以在终端中运行以下命令来完成此操作:

    sudo service mysql start
  2. edusys.sql 数据库导入 MySQL。你可以在终端中运行以下命令来完成此操作:

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

此命令将使用 root 用户将 edusys.sql 数据库导入 MySQL。

创建一个新的 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中练习更多实验以提升你的技能。

您可能感兴趣的其他 Java 教程