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

来源:互联网 发布:知乎 怎么发到专栏 编辑:程序博客网 时间:2024/04/28 17:13
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);
                    }
0 0
原创粉丝点击