当前位置:   article > 正文

2021/06/20的1+X大数据Java的答案_依据学生的姓名来删除学生 * @param name 学生姓名 * @return 存在名字则删除,

依据学生的姓名来删除学生 * @param name 学生姓名 * @return 存在名字则删除,并

2021/06/20

步骤二

  1. //已经提供Student类的属性,补充完成该类的有参(两个参数)及无参构造方法
  2. public Student() {
  3. }
  4. public Student(String name,String pwd) {
  5. this.name = name;
  6. this.pwd = pwd;
  7. }

步骤三

  1. /**
  2. * 使用全局变量: sdf,将字符串转换为java.util.Date类型并返回
  3. * 注意,不能声明任何形式的异常抛出,否则测试用例无法通过
  4. * @param stringDate
  5. * @return
  6. */
  7. public static Date convertFromStringToDate(String stringDate) {
  8. // 补全代码:
  9. Date date = null;
  10. try {
  11. date = sdf.parse(stringDate);
  12. } catch (ParseException e) {
  13. // TODO Auto-generated catch block
  14. e.printStackTrace();
  15. }
  16. return date;
  17. }

步骤四

  1. /**
  2. * 使用全局变量: sdf,将日期转换成字符串
  3. * @param date 需要被转换的日期
  4. * @return 转换之后的字符串形式的日期
  5. */
  6. public static String convertFromDateToString(Date date) {
  7. // 补全或替换代码
  8. return sdf.format(date);
  9. }

步骤五

  1. /**
  2. * 依据书名查询书籍
  3. * @param bname 书名
  4. * @return 有的话返回书籍对象(唯一),没有的话返回null
  5. */
  6. public Book findByName(String bname){
  7. // 请补全sql语句
  8. String sql = "select * from `book` where `name` = ?";
  9. Book b = ou.getOne(sql, Book.class, bname);
  10. return b;
  11. }

步骤六

  1. /**
  2. * 查询所有书籍中价钱最贵的书籍名称
  3. * @return 返回书籍名称
  4. */
  5. public String queryExpensiveBook(){
  6. // 请补全sql语句
  7. String sql = "select `name` from `book` where price = (select max(`price`) from `book`)";
  8. Book b = ou.getOne(sql, Book.class);
  9. return b.getName();
  10. }

步骤七

  1. /**
  2. * 依据学生的姓名来删除学生
  3. * @param name 学生姓名
  4. * @return 存在名字则删除,并返回true;不存在则不删除,并返回false
  5. */
  6. public boolean deleteStudent(String name){
  7. // 请补全sql语句
  8. String sql = "delete from `student` where `name` = ?";
  9. int a = ou.delete(sql, name);
  10. if(a>0){
  11. return true;
  12. }else{
  13. return false;
  14. }
  15. }

步骤八

  1. /**
  2. * 根据学生姓名、旧密码、新密码来更新密码
  3. * 如果学生姓名和旧密码不正确,则不更新
  4. * 如果学生姓名和旧密码正确,则更新
  5. *
  6. * @param name 姓名
  7. * @param oldPwd 旧密码
  8. * @param newPwd 新密码
  9. */
  10. public void changePwd(String name,String oldPwd,String newPwd){
  11. // 1.先判断学生姓名和旧密码是否正确
  12. // 请补全sql语句
  13. String sql1 = "select * from `student` where `name` = ? and `pwd` = ?";
  14. Student s = ou.getOne(sql1, Student.class, name, oldPwd);
  15. // 2.姓名和旧密码正确,则更新;姓名和旧密码不正确,则不更新
  16. if(s!=null){
  17. // 请补全sql语句
  18. String sql2 = "update `student` set `pwd` = ? where `name` = ?";
  19. ou.update(sql2, newPwd, name);
  20. }
  21. }

步骤九

  1. // 1.首先依据要借的书名来获取书籍对象
  2. Book b = findByName(sb.getBname());
  3. // 2.有书则借书,并返回true;没有书则不借书,并返回false
  4. if(b!=null&&b.getNum()>0){
  5. // 往 sb 表中插入相关信息:学生姓名,书籍名称,借书时间。自增id和还书时间不用插入。
  6. // 请补全sql语句
  7. String sql1 = "insert into `sb`(`sname`,`bname`,`begintime`) values (?,?,?)";
  8. ou.add(sql1,sb.getSname(),sb.getBname(),DateUtil.convertFromDateToString(sb.getBeginTime()));
  9. // 更新 book 表中对应书籍的数量减1
  10. // 请补全sql语句
  11. String sql2 = "update `book` set `num`=num-1 where `name` = ?";
  12. ou.update(sql2, sb.getBname());
  13. return true;
  14. }else{
  15. return false;
  16. }

步骤十

  1. public boolean giveBack(SB sb){
  2. //1.首先查询某人是否在某个时间借阅了某书,但是还没有归还
  3. // 请补全sql语句
  4. String sql = "select endtime from `sb` where `sname` = ? and `bname` = ? and `begintime` = ?" ;
  5. String btime = DateUtil.convertFromDateToString(sb.getBeginTime());
  6. SB f = ou.getOne(sql, SB.class, sb.getSname(),sb.getBname(), btime);
  7. //2.借了则归还,并返回true;没有借则不用归还,并返回false
  8. if(f!=null){
  9. // 根据借书人、借书名称、借书时间来更新 sb 表中的还书时间为当前时间
  10. // 请补全sql语句
  11. String sql1 = "update `sb` set `endtime`= ? where sname = ? and bname = ? and begintime = ?";
  12. ou.update(sql1, DateUtil.convertFromDateToString(new Date()),sb.getSname(),sb.getBname(),DateUtil.convertFromDateToString(sb.getBeginTime()));
  13. // 更新 book 表中对应书籍的数量加1
  14. // 请补全sql语句
  15. String sql2 = "update `book` set num=num+1 where name = ?";
  16. ou.update(sql2, sb.getBname());
  17. return true;
  18. }else{
  19. return false;
  20. }
  21. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/803974
推荐阅读
相关标签
  

闽ICP备14008679号