求大神解决这个大题 求大神给出答案

  1. 假定mysql数据库中已有student表,表字段有学号sNo、姓名sName、电话sTel
  2. 根据student表已经创建实体类Student:

public class Student {

private String sNo;

private String sName;

private String sTel;

public String getsNo() {

return sNo;

}

public void setsNo(String sNo) {

this.sNo= sNo;

}

public String getsName() {

return sName;

}

public void setsName(String sName) {

this.sName = sName;

}

public String getsTel() {

return sTel;

}

public void setsTel(String sTel) {

this.sTel= sTel;

}

}
3.已经创建StudentDao接口和接口实现类StudentDaoImpl.java。要求在实现类中实现根据关键字模糊查询学生的信息;实现类中已定义对象:

PreparedStatement ps;

// 查询Student表中信息(查询所有信息或以关键字为条件查询信息。参数 var为关键字)

public ArrayList  selectStudents(String var) {
    ArrayList  list = new ArrayList();//集合用来存放学生对象
String sql;//查询语句
    /*补齐代码,如果var为空 则查询student表中所有信息。否则模糊查询学号或者姓名或者电话信息。即var可能是学号或者姓名或者电话*/







    try {
        // 连接数据库
        ps = Conndb.conndb().prepareStatement(sql);
        //补齐代码给?赋值

ResultSet rs = ps.executeQuery();// 存储的是查询结果

    // 补齐代码,循环取出查询结果










    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        Conndb.close();
    }
    return list;
}

public ArrayList<Student> selectStudents(String var) {
    ArrayList<Student> list = new ArrayList<>(); // 集合用来存放学生对象
    String sql; // 查询语句
    
    if (var == null || var.isEmpty()) {
        sql = "SELECT * FROM student"; // 查询student表中所有信息
    } else {
        sql = "SELECT * FROM student WHERE sNo LIKE ? OR sName LIKE ? OR sTel LIKE ?";
    }
    
    try {
        // 连接数据库
        ps = Conndb.conndb().prepareStatement(sql);
        
        if (var != null && !var.isEmpty()) {
            // 给?赋值
            ps.setString(1, "%" + var + "%");
            ps.setString(2, "%" + var + "%");
            ps.setString(3, "%" + var + "%");
        }
        
        ResultSet rs = ps.executeQuery(); // 存储的是查询结果
        
        // 循环取出查询结果
        while (rs.next()) {
            Student student = new Student();
            student.setsNo(rs.getString("sNo"));
            student.setsName(rs.getString("sName"));
            student.setsTel(rs.getString("sTel"));
            list.add(student);
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        Conndb.close();
    }
    
    return list;
}