eclipse连接mysql输入一个学号,如果该学号信息存在,则显示出该学号对应的学生的基本信息, 包括学号,姓名,性别,年龄等,以及该学生所选修的课程名称,成绩;若没有该学号 对应的信息存在,则输出简单的提示信息。
时间: 2023-08-13 09:05:26 浏览: 59
首先,需要将 Java 项目中的 MySQL JDBC 驱动包导入到 Eclipse 中。
然后,可以使用以下代码实现输入学号查询学生信息和所选课程成绩:
```java
import java.sql.*;
public class StudentInfo {
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/your_database_name";
static final String USER = "your_username";
static final String PASS = "your_password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
// 注册 JDBC 驱动
Class.forName(JDBC_DRIVER);
// 打开连接
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// 输入学号
String studentID = "10001"; // 这里可以根据实际需求改变
// 执行查询
System.out.println("Creating statement...");
stmt = conn.createStatement();
String sql = "SELECT student.id, student.name, student.gender, student.age, course.name, score.score " +
"FROM student " +
"LEFT JOIN score ON student.id = score.student_id " +
"LEFT JOIN course ON score.course_id = course.id " +
"WHERE student.id = '" + studentID + "'";
ResultSet rs = stmt.executeQuery(sql);
// 处理查询结果
if (rs.next()) {
// 学生基本信息
String id = rs.getString("student.id");
String name = rs.getString("student.name");
String gender = rs.getString("student.gender");
int age = rs.getInt("student.age");
System.out.println("Student ID: " + id);
System.out.println("Student Name: " + name);
System.out.println("Student Gender: " + gender);
System.out.println("Student Age: " + age);
// 所选课程成绩
String courseName = rs.getString("course.name");
int score = rs.getInt("score.score");
System.out.println("Course Name: " + courseName);
System.out.println("Score: " + score);
} else {
System.out.println("No data found for student ID: " + studentID);
}
// 关闭资源
rs.close();
stmt.close();
conn.close();
} catch (SQLException se) {
// 处理 JDBC 错误
se.printStackTrace();
} catch (Exception e) {
// 处理 Class.forName 错误
e.printStackTrace();
} finally {
// 关闭资源
try {
if (stmt != null) stmt.close();
} catch (SQLException se2) {
} // 什么也不做
try {
if (conn != null) conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
System.out.println("Goodbye!");
}
}
```
需要注意的是,上述代码中的 `your_database_name`、`your_username` 和 `your_password` 需要根据实际情况进行修改。此外,还需要根据实际的数据库表结构和字段名进行调整。
阅读全文