• 分割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,喜大普奔~

  • 相关阅读:
    Goldbach's Conjecture
    查找素数
    最大公约数和最小公倍数
    迭代求立方根
    计算两个矩阵的乘积
    随机选择算法
    有几个PAT
    python3学习笔记之安装
    Ubuntu 16.04卸载一些不必要的预装软件
    Xshell连接不上虚拟机提示ssh服务器拒绝了密码,请再试一次
  • 原文地址:https://www.cnblogs.com/sun7897/p/10605867.html
Copyright © 2020-2023  润新知