代码如下:

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class StudentDao {
    private Connection conn = null;
    private PreparedStatement pstmt = null;
    private ResultSet rs = null;

    /**
     * 通过ID查询指定学号的学生信息,并封装成Student对象返回
     * @param id 学号
     * @return Student对象
     */
    public Student getStudentById(int id) {
        Student student = null;
        try {
            conn = JDBCUtil.getConnection();
            String sql = "SELECT * FROM student WHERE id = ?";
            pstmt = conn.prepareStatement(sql);
            pstmt.setInt(1, id);
            rs = pstmt.executeQuery();
            if (rs.next()) {
                student = new Student();
                student.setId(rs.getInt("id"));
                student.setName(rs.getString("name"));
                student.setAge(rs.getInt("age"));
                student.setGender(rs.getString("gender"));
                student.setGrade(rs.getString("grade"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            JDBCUtil.close(conn, pstmt, rs);
        }
        return student;
    }

    /**
     * 通过ID删除指定学号的学生,并且返回删除的行数
     * @param id 学号
     * @return 删除的行数
     */
    public int deleteStudentById(int id) {
        int result = 0;
        try {
            conn = JDBCUtil.getConnection();
            String sql = "DELETE FROM student WHERE id = ?";
            pstmt = conn.prepareStatement(sql);
            pstmt.setInt(1, id);
            result = pstmt.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            JDBCUtil.close(conn, pstmt, rs);
        }
        return result;
    }

    /**
     * 查询学生表所有的学生,封装成List<Student>返回
     * @return List<Student>
     */
    public List<Student> getAllStudents() {
        List<Student> students = new ArrayList<>();
        try {
            conn = JDBCUtil.getConnection();
            String sql = "SELECT * FROM student";
            pstmt = conn.prepareStatement(sql);
            rs = pstmt.executeQuery();
            while (rs.next()) {
                Student student = new Student();
                student.setId(rs.getInt("id"));
                student.setName(rs.getString("name"));
                student.setAge(rs.getInt("age"));
                student.setGender(rs.getString("gender"));
                student.setGrade(rs.getString("grade"));
                students.add(student);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            JDBCUtil.close(conn, pstmt, rs);
        }
        return students;
    }
}

使用示例:

public static void main(String[] args) {
    StudentDao dao = new StudentDao();

    // 查询指定学号的学生信息
    Student student = dao.getStudentById(1);
    System.out.println(student);

    // 删除指定学号的学生
    int result = dao.deleteStudentById(2);
    System.out.println("删除了 " + result + " 行");

    // 查询所有学生信息
    List<Student> students = dao.getAllStudents();
    for (Student s : students) {
        System.out.println(s);
    }
}
``
jdbc题目2应用在题目1的上继续完成以下功能创建StudentDao类在类中定义如下方法1编写方法通过ID查询指定学号的学生信息并封装成Student对象返回。2 编写方法通过ID删除指定学号的学生并且返回删除的行数。3编写方法查询学生表所有的学生封装成ListStudent返回

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

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