java一个大list 分入70一个小list 批量入库

 if(listNew.size()>0){
                    logger.info("走批量插入一个大list:"+listNew.size()+"分70一分小list");
                    List< List<InstantQtyEntity>> listMap = new ArrayList<>();
                    int size =70;
                    int arrSize = listNew.size()%size==0?listNew.size()/size:listNew.size()/size+1;//分成几份
                    logger.info("大list:"+listNew.size()+"分{"+size+"}一分小list:分成"+arrSize+"份");
                    for(int i=0;i<arrSize;i++){//---
                        List<InstantQtyEntity> itemList = new ArrayList<>();
                        for(int j=i*size;j<=size*(i+1)-1;j++){//--
                            if(j<=listNew.size()-1){//核--
                                itemList.add(listNew.get(j));
                            }

                        }
                        listMap.add(itemList);
                    }

                    for(List<InstantQtyEntity> item : listMap){
                        logger.info(item.toString());
                        int a = webApiMapper.insertInstantQtyStocknumList(item);
                        logger.info("取即时alu_kingdee_outbound_request_stocknum;入库:" + (a > 0 ? "成功" : "失败"));
                    }

                }

  解决:
在java代码中将精度设置成统一的,如
new BigDecimal(“10.28”).setScale(5),
new BigDecimal("(11.2").setScale(5),
new BigDecimal(“12.51”).setScale(5),
再次测试批量新增,数据正常:
column1 column2
10.28000 xxx
11.20000 yyy
12.51000 zzz

posted @ 2020-12-10 15:22  A汉克先生  阅读(332)  评论(0编辑  收藏  举报