zoukankan      html  css  js  c++  java
  • 批量更新demo

    因为批量更新数据库的时候,如果数据量太多,就会报错,这时候可以通过逻辑,批量更新,demo如下
    @Test
        public void testbatch() {
            /**
             * 批量的值
             */
            int max = 11;
            List<String> list = new ArrayList<>();
            list.add("1");
            list.add("2");
            list.add("3");
            list.add("4");
            list.add("5");
            list.add("6");
            list.add("7");
            list.add("8");
            list.add("9");
            list.add("10");
            /**
             * 列表数量
             */
            int size = list.size();
            /**
             * 取模
             */
            int batchSize = size / max;
            int mode = size%max;
    
            if(mode==0){
                batchSize = batchSize-1;
            }
            for (int i = 0; i <=batchSize; i++) {
                if (i == batchSize) {
                    print(list.subList(i * max, size));
                } else {
                    print(list.subList(i * max, i * max + max));
                }
            }
            System.out.println(mode);
        }
    
        private void print(List<String> list) {
            for (String s : list) {
                System.out.println(s);
            }
            System.out.println("=================");
        }

    第二个demo

    @Test
        public void testsssss333(){
            int max = 5;
            List<String> list = new ArrayList<>();
            list.add("1");
            list.add("2");
            list.add("3");
            list.add("4");
            list.add("5");
            list.add("6");
            list.add("7");
            list.add("8");
            list.add("9");
            list.add("10");
            int size = list.size();
    
            List<String> execute = Lists.newArrayList();
            for (int start = 0; start < size; start += max) {
                int end = Math.min(start + max, size);
                execute = list.subList(start, end);
    
                if (CollectionUtils.isNotEmpty(execute)) {
                    print(execute);
                }
    
            }
        }
    
  • 相关阅读:
    Delphi XE5 for Android (六)
    Delphi XE5 for Android (四)
    Delphi XE5 for Android (三)
    如何设计并使用FireMonkeyStyle
    Indy发送邮件被kbas退掉
    Indy10收发Hotmail邮件
    一个简单的打印监控示例
    DataSnap侦听端口动态设置问题
    面试题总结一
    spring boot RESTFul API拦截 以及Filter和interceptor 、Aspect区别
  • 原文地址:https://www.cnblogs.com/dupang/p/6866530.html
Copyright © 2011-2022 走看看