介绍
在这个项目中,你将学习如何使用 JDBC(Java 数据库连接)通过PreparedStatement查询 MySQL 数据库。目标是从edusys数据库的instructor表中检索工资高于 6000 的教师的姓名和工资。
👀 预览

🎯 任务
在这个项目中,你将学习:
- 如何使用 JDBC 建立数据库连接
- 如何创建带有参数占位符的
PreparedStatement - 如何执行查询并处理结果集
- 如何正确处理异常并关闭资源
🏆 成果
完成这个项目后,你将能够:
- 理解 JDBC 的基础知识以及如何使用它与 MySQL 数据库进行交互
- 编写使用
PreparedStatement执行带参数 SQL 查询的 Java 代码 - 使用 JDBC 从数据库中检索和处理数据
- 在 JDBC 应用程序中实现错误处理和资源管理
启动 MySQL 服务并导入数据库
在这一步中,你将学习如何启动 MySQL 服务并导入edusys.sql数据库。按照以下步骤完成此步骤:
启动 MySQL 服务。你可以在终端中运行以下命令来完成此操作:
sudo service mysql start将
edusys.sql数据库导入 MySQL。你可以在终端中运行以下命令来完成此操作:mysql -u root < /home/labex/project/edusys.sql
此命令将使用 root 用户将edusys.sql数据库导入 MySQL。
创建一个 Java 项目目录
在这一步中,你将学习如何创建一个 Java 项目目录。按照以下步骤完成此步骤:
为你的 Java 项目创建一个新目录:
mkdir /home/labex/project/salary cd /home/labex/project/salary为你的项目创建必要的子目录:
mkdir src lib binsrc目录将包含你的 Java 源代码文件。lib目录将包含你的项目使用的任何外部库。bin目录将包含编译后的 Java 类文件。
移动 JDBC 驱动和 Java 文件
在这一步中,你将学习如何将 JDBC 驱动和JDBCQueryByPreparedStatement.java文件移动到相应的目录。按照以下步骤完成此步骤:
将 JDBC 驱动移动到
lib目录:mv /home/labex/project/mysql-connector-java-8.0.21.jar /home/labex/project/salary/lib将
JDBCQueryByPreparedStatement.java文件移动到src目录:mv /home/labex/project/JDBCQueryByPreparedStatement.java /home/labex/project/salary/src
实现查询系统
在这一步中,你将在JDBCQueryByPreparedStatement.java文件中实现大学信息查询系统的代码。按照以下步骤完成此步骤:
在文本编辑器中打开
JDBCQueryByPreparedStatement.java文件。将以下代码添加到
main()方法中:try { String url = "jdbc:mysql://localhost:3306/edusys"; String username = "root"; String password = ""; // 建立数据库连接 Connection connection = DriverManager.getConnection(url, username, password); // 准备带有参数占位符的 SQL 语句 String sql = "SELECT name, salary FROM instructor WHERE salary >?"; PreparedStatement preparedStatement = connection.prepareStatement(sql); // 设置参数值 preparedStatement.setDouble(1, 6000); // 执行查询 ResultSet resultSet = preparedStatement.executeQuery(); // 遍历结果集 while (resultSet.next()) { String name = resultSet.getString("name"); double salary = resultSet.getDouble("salary"); System.out.println(name + " " + salary); } // 关闭资源 resultSet.close(); preparedStatement.close(); connection.close(); } catch (SQLException e) { e.printStackTrace(); }这段代码连接到 MySQL 数据库,提示用户选择要查询的表,执行相应的 SQL 查询,并将结果打印到控制台。
保存
JDBCQueryByPreparedStatement.java文件。
运行应用程序
在这最后一步中,你将运行该应用程序。
- 编译 Java 文件:
javac -d bin/ src/JDBCQueryByPreparedStatement.java
- 运行应用程序:
java -cp bin/:lib/mysql-connector-java-8.0.21.jar JDBCQueryByPreparedStatement
你应该会看到以下输出:
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
恭喜!你已成功完成该项目。
总结
恭喜!你已完成这个项目。你可以在 LabEx 中练习更多实验来提升你的技能。



