日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

实验13:20220625 1+X 中级实操考试(id:3411)

發(fā)布時間:2024/3/13 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实验13:20220625 1+X 中级实操考试(id:3411) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?筆記學(xué)習(xí),記錄步驟7與步驟8中出現(xiàn)的錯誤

目錄

【5 分】步驟 1:項(xiàng)目準(zhǔn)備

?【10 分】步驟 2:完成實(shí)體類?Info

?【10 分】步驟 3:完成?Info?的?toString?方法

?【10 分】步驟 4:完成?Score

?【10 分】步驟 5:完成?SSDaoImpl?的?queryInfo?方法

?【10 分】步驟 6:繼續(xù)完善?SSDaoImpl?類

?【15 分】步驟 7:繼續(xù)完善?SBDaoImpl?類

?【15 分】步驟 8:繼續(xù)完善?SSDaoImpl?類

?【15 分】步驟 9:繼續(xù)完善?SSDaoImpl?類


【5 分】步驟 1:項(xiàng)目準(zhǔn)備

復(fù)制粘貼即可

?【10 分】步驟 2:完成實(shí)體類?Info

//補(bǔ)充完成該類的含參構(gòu)造方法public Info(String id, String name, int age, String sex, String provice) {}

需求:補(bǔ)充有參構(gòu)造函數(shù)

//補(bǔ)充完成該類的含參構(gòu)造方法public Info(String id, String name, int age, String sex, String provice) {this.id = id;this.name = name;this.age = age;this.sex = sex;this.provice = provice;}

?【10 分】步驟 3:完成?Info?的?toString?方法

// 請修改該方法,以保證打印對象時輸出格式如下:// {id:"001";name:"zs";age:20;sex:"男";provice:"四川"}@Overridepublic String toString() {return "";}

答案

public String toString() {return "{id:\""+id+"\";name:\""+name+"\";age:"+age+";sex:\""+sex+"\";provice:\""+provice+"\"}";}

?【10 分】步驟 4:完成?Score

// 缺失代碼:請補(bǔ)全以下方法,要求英語成績的范圍在:0<=num<150 之間// 當(dāng)參數(shù)在規(guī)定范圍外時,不做任何動作public void setEnglish(int english) {}

答案

public void setEnglish(int english) {if(english >= 0 && english < 150){this.english = english;}}

?【10 分】步驟 5:完成?SSDaoImpl?的?queryInfo?方法

/*** 依據(jù)學(xué)生考號查詢學(xué)生信息* @param id 學(xué)生考號* @return 有的話返回學(xué)生對象,沒有的話返回null*/public Info queryInfo(String id){// 請補(bǔ)全sql語句String sql = "###";Info i = infoUtil.getOne(sql, Info.class, id);return i;}

答案

public Info queryInfo(String id){// 請補(bǔ)全sql語句String sql = "select * from info where id=?";Info i = infoUtil.getOne(sql, Info.class, id);return i;}

?【10 分】步驟 6:繼續(xù)完善?SSDaoImpl?類

/*** 依據(jù)學(xué)生考號查詢學(xué)生成績,返回4門成績之和* @param id 學(xué)生考號* @return 返回4門成績之和*/public int querySum(String id){// 請補(bǔ)全sql語句String sql = "###";Score s = infoUtil.getOne(sql, Score.class, id);int sum = s.getChinese() + s.getMaths() + s.getEnglish() + s.getComposite();return sum;}

答案

public int querySum(String id){// 請補(bǔ)全sql語句String sql = "select * from score where id = ?";Score s = scoreUtil.getOne(sql, Score.class, id);int sum = s.getChinese() + s.getMaths() + s.getEnglish() + s.getComposite();return sum;}

?【15 分】步驟 7:繼續(xù)完善?SBDaoImpl?類

/*** 依據(jù)學(xué)生姓名查詢學(xué)生成績,返回4門成績之和* @param name 學(xué)生姓名* @return 返回4門成績之和*/public int querySumByName(String name){// 請補(bǔ)全sql語句String sql = "###";Score s = scoreUtil.getOne(sql, Score.class, name);int sum = s.getChinese() + s.getMaths() + s.getEnglish() + s.getComposite();return sum;}

這里是通過info表的name獲取到id,然后通過id去查找到四門的成績

答案

String sql_in = "select * from info where name = ?";Info in = infoUtil.getOne(sql_in, Info.class, name);String sql_sc = "select * from score where id="+in.getId();Score sc = scoreUtil.getOne(sql_sc, Score.class);int sum = sc.getChinese() + sc.getMaths() + sc.getEnglish() + sc.getComposite();return sum;

這個代碼在實(shí)驗(yàn)13是可以通過的,但是不夠完整,如果說找不到人或者找到人沒成績,那就要判斷是不是null

// 請補(bǔ)全sql語句String sql_in = "select * from info where name = ?";Info in = infoUtil.getOne(sql_in, Info.class, name);if (in != null){String sql_sc = "select * from score where id="+in.getId();Score sc = scoreUtil.getOne(sql_sc, Score.class);if(sc != null){int sum = sc.getChinese() + sc.getMaths() + sc.getEnglish() + sc.getComposite();return sum;}} return 0;

(這里是用了分布查詢,當(dāng)然還可以通過子查詢查詢到數(shù)據(jù))

============子查詢================

public int querySumByName(String name){// 請補(bǔ)全sql語句String sql = "select * from score where id = (select id from info where name = ?)";Score s = scoreUtil.getOne(sql, Score.class, name);int sum = s.getChinese() + s.getMaths() + s.getEnglish() + s.getComposite();return sum;}

?【15 分】步驟 8:繼續(xù)完善?SSDaoImpl?類

/*** 查詢4門成績之和的最大值* @return 返回最大值*/public int queryMaxSum(){// 請補(bǔ)全sql語句String sql = "###";Score s = scoreUtil.getOne(sql, Score.class);int sum = s.getChinese() + s.getMaths() + s.getEnglish() + s.getComposite();return sum;}

這里查詢的四門成績最大值,是查詢幾個學(xué)生里面的總分最高的

答案

// 請補(bǔ)全sql語句String sql = "select * from score order by chinese DESC,maths DESC,English DESC,Composite DESC limit 1";Score s = scoreUtil.getOne(sql, Score.class);int sum = s.getChinese() + s.getMaths() + s.getEnglish() + s.getComposite();return sum;

這個是可以通過的,但是存在bug(因?yàn)檫@個題目給出的成績數(shù)據(jù)里面,這樣排序剛好獲取到了總分?jǐn)?shù)最高的,如果不是,就出現(xiàn)了錯誤),所以對總成績做一個排序

總分排序答案

// // 請補(bǔ)全sql語句String sql = "select * from score order by chinese+maths+english+composite desc limit 1";Score s = scoreUtil.getOne(sql, Score.class);int sum = s.getChinese() + s.getMaths() + s.getEnglish() + s.getComposite();return sum;

?【15 分】步驟 9:繼續(xù)完善?SSDaoImpl?類

/*** 依據(jù)姓名更新年齡* @return name 姓名* @return age 年齡*/public void updateAge(String name,int age){// 請補(bǔ)全sql語句String sql = "###";int i = infoUtil.update(sql,age,name);}

答案

public void updateAge(String name,int age){// 請補(bǔ)全sql語句String sql = "update info set age = ? where name = ?";int i = infoUtil.update(sql,age,name);}

總結(jié)

以上是生活随笔為你收集整理的实验13:20220625 1+X 中级实操考试(id:3411)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。