当前位置:   article > 正文

2021/06/20 1+X 大数据应用开发(Java)中级实操考试_1+x 中级实操考试(id:3886)

1+x 中级实操考试(id:3886)

目录

步骤二:

步骤三:

步骤四:

步骤五:

步骤六:

步骤七:

步骤八:

步骤九:

步骤十:


步骤二:

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

步骤三:

  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. e.printStackTrace();
  14. }
  15. return date;
  16. }

步骤四:

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

步骤十:

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

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

闽ICP备14008679号