for (int x = 0; x< maximum; x++) {//根据每个月的最大的天数复制对应的份数
questionnaireLogic.insert(param, dbconfig);//创建问卷
String addline = request.getParameter("addline");
String[] add = addline.split(",");
for(int i=0; i<add.length; i++){
String quename = request.getParameter("quename"+add[i]);
String quecomment = request.getParameter("quecomment"+add[i]);
String quetype = request.getParameter("quetype"+add[i]);
String mins = request.getParameter("mins"+add[i]);//多选限制选择个数
String maxs = request.getParameter("maxs"+add[i]);
String[] answernames = request.getParameterValues("answername"+add[i]);
String checkradio = request.getParameter("checkAns"+add[i]);
QuestionnaireQue param1 = new QuestionnaireQue();
param1.setQnid(param.getId());//关联上面创建的问卷
param1.setName(quename);
int qorder = questionnaireLogic.findMaxQorder(dbconfig);
param1.setQorder(qorder+1);
param1.setQuetype(quetype);
param1.setComment(quecomment);
param1.setMinchoose(mins);
param1.setMaxchoose(maxs);
int flag = 1;
if(StringUtils.isBlank(quename)||StringUtils.isBlank(quetype)){
flag = 0;
}
if (!"多行文本题".equals(quetype)&&answernames==null) {
flag = 0;
}
if(flag==1){
questionnaireLogic.insertQue(param1,dbconfig);//添加
}
if (!"多行文本题".equals(quetype)) {
if(answernames != null){
for(int j=0;j<answernames.length;j++){
QuestionnaireAnswer param2 = new QuestionnaireAnswer();
int queid = param1.getId();
int aorder = questionnaireLogic.findMaxAorder(queid,dbconfig);
param2.setAorder(aorder+1);
param2.setName(answernames[j]);
param2.setQueid(queid);
if("单选题".equals(quetype)&&checkradio!=null&&j==Integer.parseInt(checkradio)){
param2.setRadioCheck(1);
}
questionnaireLogic.insertAnswer(param2,dbconfig);//
}
}
}
}
String oldId = request.getParameter("oldid");
List<QuestionnaireQue> list = questionnaireLogic.findByQnid(oldId, dbconfig);//查找问卷
for (QuestionnaireQue questionnaireQue : list) {
questionnaireQue.setQnid(param.getId());
List<QuestionnaireAnswer> listAnswer = questionnaireLogic.findByQueid(questionnaireQue.getId(),
dbconfig);
questionnaireLogic.insertQue(questionnaireQue, dbconfig);
for (QuestionnaireAnswer answer : listAnswer) {
answer.setQueid(questionnaireQue.getId());
questionnaireLogic.insertAnswer(answer, dbconfig);
}
}
}
return new ResponseInfo(true,"创建成功!");
这咋提高呢,不是循环次数的问题,那就只能是摆放的问题了,相同的数据,你想放多少次,循环多少次,这应该是定死了的,最多重复数据进行不重复访问,或者减少访问次数,就比如一次让尽量多的数据放在好的位置,每次一行,存进去省点时间。