jdbc题目2应用在题目1的上继续完成以下功能创建StudentDao类在类中定义如下方法1编写方法通过ID查询指定学号的学生信息并封装成Student对象返回。2 编写方法通过ID删除指定学号的学生并且返回删除的行数。3编写方法查询学生表所有的学生封装成ListStudent返回
。
代码如下:
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);
}
}
``
原文地址: https://www.cveoy.top/t/topic/g2od 著作权归作者所有。请勿转载和采集!