使用 JDBC 查询学生选课信息:多对多关系示例

本文将演示如何使用 JDBC 查询数据库中某个学生所选课程信息。这是一个典型的多对多关系示例,涉及学生表、课程表以及学生选课关联表。

数据库表设计

Student 表

  • 学生编号 (student_id)
  • 学生姓名 (student_name)

Course 表

  • 课程编号 (course_id)
  • 课程名称 (course_name)

学生选课表 (student_course)

  • 学生编号 (student_id)
  • 课程编号 (course_id)

JDBC 代码示例

import java.sql.*;

public class Main {
    public static void main(String[] args) {
        try {
            // 连接数据库
            Connection connection = DriverManager.getConnection('jdbc:mysql://localhost:3306/database_name', 'username', 'password');

            // 查询某一个学生所选择的所有课程信息
            String query = 'SELECT Student.student_id, Student.student_name, Course.course_name '
                    + 'FROM Student '
                    + 'JOIN student_course ON Student.student_id = student_course.student_id '
                    + 'JOIN Course ON student_course.course_id = Course.course_id '
                    + 'WHERE Student.student_id = ?';

            // 设置学生编号
            int studentId = 1;

            // 创建预编译语句对象
            PreparedStatement statement = connection.prepareStatement(query);
            statement.setInt(1, studentId);

            // 执行查询
            ResultSet resultSet = statement.executeQuery();

            // 输出查询结果
            while (resultSet.next()) {
                int studentId = resultSet.getInt('student_id');
                String studentName = resultSet.getString('student_name');
                String courseName = resultSet.getString('course_name');

                System.out.println('学生编号: ' + studentId);
                System.out.println('学生姓名: ' + studentName);
                System.out.println('课程名称: ' + courseName);
                System.out.println();
            }

            // 关闭连接
            resultSet.close();
            statement.close();
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

注意:

  • 替换代码中的database_nameusernamepassword为实际的数据库名称、用户名和密码。
  • 根据实际情况调整查询语句和学生编号。

代码说明

  1. **连接数据库:**使用 DriverManager.getConnection() 方法建立数据库连接。
  2. **创建预编译语句:**使用 connection.prepareStatement() 方法创建 PreparedStatement 对象,并设置查询语句。
  3. **设置参数:**使用 statement.setInt() 方法设置查询语句中的参数,即学生编号。
  4. **执行查询:**使用 statement.executeQuery() 方法执行查询操作,并获取结果集 ResultSet 对象。
  5. **处理结果集:**使用 resultSet.next() 方法遍历结果集,并使用 resultSet.getInt()resultSet.getString() 方法获取每条记录的数据。
  6. **关闭连接:**最后,关闭 ResultSetStatementConnection 对象,释放资源。

通过以上步骤,即可使用 JDBC 查询数据库中某个学生所选课程信息。

JDBC 查询学生选课信息:多对多关系示例

原文地址: https://www.cveoy.top/t/topic/qdav 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录