一个班级表 查询班级表查询数学成绩综合 并且查询数学成绩的学生的姓名学号等信息 然后一次性映射到一个实体list里面 写java代码
时间: 2024-03-13 20:45:13 浏览: 94
好的,以下是一个Java代码示例,用于从班级表中查询数学成绩综合,并将数学成绩学生的姓名、学号等信息一次性映射到一个实体list中:
```java
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 连接数据库
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "password";
Connection conn = null;
try {
conn = DriverManager.getConnection(url, user, password);
// 查询数学成绩综合并获取学生信息
String sql = "SELECT s.name, s.student_id, s.math_score FROM student s INNER JOIN class c ON s.class_id = c.class_id WHERE subject = 'math'";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
// 将学生信息和数学成绩综合映射到实体list中
List<Student> studentList = new ArrayList<>();
while (rs.next()) {
Student student = new Student();
student.setName(rs.getString("name"));
student.setStudentId(rs.getString("student_id"));
student.setMathScore(rs.getDouble("math_score"));
studentList.add(student);
}
// 打印实体list
System.out.println(studentList);
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭数据库连接
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
class Student {
private String name;
private String studentId;
private double mathScore;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStudentId() {
return studentId;
}
public void setStudentId(String studentId) {
this.studentId = studentId;
}
public double getMathScore() {
return mathScore;
}
public void setMathScore(double mathScore) {
this.mathScore = mathScore;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", studentId='" + studentId + '\'' +
", mathScore=" + mathScore +
'}';
}
}
```
这段代码首先通过 JDBC 驱动程序连接了一个名为 "test" 的 MySQL 数据库,并查询了数学成绩综合以及学生的姓名、学号等信息。然后,将查询到的信息映射到一个实体 list 中,并打印出来。
你可以根据自己的需要修改这段代码,例如更改查询的表名、字段名等。希望这能帮助到你!
阅读全文