您的位置:首页 > 编程语言 > Java开发

JAVA请求大神指教在for循环里面进行查询操作反应特别慢,有什么优化吗?这个查询又必须要

2016-09-01 12:57 866 查看
for (long i = str_simcard; i <= sto_simcard; i++) {
                BaseEntity baseEntity=new BaseEntity();
                CommodityEntity entity=new CommodityEntity();
                comm.setSimcard(i+"");
                comm.setRoleid(user.getRoleid());
              
 list_comm=commodityService.selectAllComBySimcard(comm);
                if(list_comm.size()!=0){//不等于0表示comm表中有此simcard数据,就先把这些数据的ActivateSatus改为关闭状态
                    comm.setSimcard(i+"");
                    comm.setActivateSatus(1);
                    commodityService.updateCommodity(comm);  
                                         
                }
                //comm表中没有此simcard号的数据,就直接新增              
 
                    entity.setSimcard(i+"");
                    entity.setCommodityName(commodityName);
                    entity.setAlcohol(alcohol);
                    entity.setCapacity(capacity);
                    entity.setOrgin(orgin);
                    entity.setProductionDate(d);
                    entity.setLogistics(logistics);    
                    entity.setActivateSatus(0);
                    entity.setGeneration(list_comm.size()+1);
                    entity.setRoleid(roleid);
                    if(keyWord==null||keyWord.equals("")){
                        entity.setKeyWord(null);
                    }else{
                        entity.setKeyWord(keyWord);
                    }

                    

                    listBatch.add(entity); 
  

                            

                        baseEntity.setSimcard(i+"");
                       list=baseService.selectBySimcard(baseEntity);//查询基本中是否有此simcard的数据
                    if(list.size()!=0){//如果有数据,那么就只修改第几次循环使用的数据
                        baseEntity.setState("0");
                        baseEntity.setGeneration(list_comm.size()+1);//
                        baseService.updateByPrimaryKeySelective(baseEntity);
                                                
                    }else{//如果Base表中没有此simcard的数据,那么就新增进去,并且是第一次使用
                        baseEntity.setSimcard(i+"");
                        baseEntity.setGeneration(1);
                        baseEntity.setState("0");
                    
                    listBatch_base.add(baseEntity);
                    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐