zoukankan      html  css  js  c++  java
  • 分割List为指定size

    背景

      老项目,用的原生的JDBC,获取连接,预编译...然后业务需要要更新很多条数据,我就写了条件为  ——IN()...

      根据传入的 list 的 size 循环的给sql语句拼接上“ ? ”为了之后的预编译

      然后~ 报错了!! 说参数组装超过 2000 个,呜呜呜~

    发展

      这个时候,考虑要不要放弃多条拼接,一条一条的去更新,然而觉得那样访问数据库的次数,太多了!

      所以,既然不能超过 2000 个参数,那我截成几个小的 list 去更新不就好了?——好主意

    解决

      上方法

     1     private List<List<String>>  createList(List<String> targe){
     2         List<List<String>> listArr = new ArrayList<List<String>>(); 
     3         int size = 1500;
     4         //获取被拆分的数组个数  
     5         int arrSize = targe.size()%size==0?targe.size()/size:targe.size()/size+1;  
     6         for(int i=0;i<arrSize;i++) {  
     7             List<String>  sub = new ArrayList<String>();  
     8             //把指定索引数据放入到list中  
     9             for(int j=i*size;j<=size*(i+1)-1;j++) {  
    10                 if(j<=targe.size()-1) {  
    11                     sub.add(targe.get(j));  
    12                 }  
    13             }  
    14             listArr.add(sub);  
    15         } 
    16         return listArr;
    17     }

    OK,喜大普奔~

  • 相关阅读:
    sql笔记
    [ACTF2020 新生赛]Include
    [极客大挑战 2019]Http
    [极客大挑战 2019]Knife
    [极客大挑战 2019]Secret File
    [HCTF 2018]admin
    [极客大挑战 2019]Havefun
    [RoarCTF 2019]Easy Calc
    ascll码转化
    《逆向工程核心原理》笔记第一章到第十一章
  • 原文地址:https://www.cnblogs.com/sun7897/p/10605867.html
Copyright © 2011-2022 走看看