我在用Java swing写一个简单的练习系统,创建了一个试卷的实体,里面包含了20道题
数据库大概情况
public class practiceQuestion {
public int practiceId; //试卷id
public int sum; //该试卷有多少道题目
public int question1; //存的是题目id
public int question2;
public int question3;
public int question4;
public int question5;
public int question6;
public int question7;
public int question8;
public int question9;
public int question10;
public int question11;
public int question12;
public int question13;
public int question14;
public int question15;
public int question16;
public int question17;
public int question18;
public int question19;
public int question20;
}
但是这20道题不是所有的都会用得上,20道题只是限制最多只能加入20道题到这个试卷上,你也可以只加5道题到试卷上,这个时候其他15道题目就用不上了
然后就是进行mysql数据库层面的查找
//查询所有
public List<practiceQuestion> getAll(){
List<practiceQuestion> pqs = new ArrayList<>();
String sql = "select * from practice_Question";
try(Connection c = DBUtil.getConnection();){
Statement s = c.createStatement();
ResultSet rs = s.executeQuery(sql);
while(rs.next()){
practiceQuestion pq = new practiceQuestion();
pq.practiceId = rs.getInt("practice_id");
//这个是用到的题目总数,比如说你在创建试卷的时候只放进去5道题,那 sum = 5;
pq.sum = rs.getInt("sum");
//很多,即使有一些题目是没用到的,在查询的时候也要全部写出来
pq.question1 = rs.getInt("question_1");
pq.question2 = rs.getInt("question_2");
pq.question3 = rs.getInt("question_3");
pq.question4 = rs.getInt("question_4");
pq.question5 = rs.getInt("question_5");
pq.question6 = rs.getInt("question_6");
pq.question7 = rs.getInt("question_7");
pq.question8 = rs.getInt("question_8");
pq.question9 = rs.getInt("question_9");
pq.question10 = rs.getInt("question_10");
pq.question11 = rs.getInt("question_11");
pq.question12 = rs.getInt("question_12");
pq.question13 = rs.getInt("question_13");
pq.question14 = rs.getInt("question_14");
pq.question15 = rs.getInt("question_15");
pq.question16 = rs.getInt("question_16");
pq.question17 = rs.getInt("question_17");
pq.question18 = rs.getInt("question_18");
pq.question19 = rs.getInt("question_19");
pq.question20 = rs.getInt("question_20");
pqs.add(pq);
}
}catch(Exception e){
e.printStackTrace();
}
return pqs;
}
我想问的是:在知道试卷中题目的数量(sum)后,能不能在查找时可以少写点代码。比如,现在我知道该试卷中有只有5道题(sum=5),那在查询时,有什么办法可以做到我只需要查询到5就行,后面的不用找了
//sum = 5时,只需要查询到5就行,后面的可以不用管了
pq.question1 = rs.getInt("question_1");
pq.question2 = rs.getInt("question_2");
pq.question3 = rs.getInt("question_3");
pq.question4 = rs.getInt("question_4");
pq.question5 = rs.getInt("question_5");
还是说必需要把全部属性都写出来?