mybatis oracle in 不能超过1000个

       //查询所有满足条件的数据
        List<String> params=service.queryParams(dto);
        /*数据量过大,分批次插入*/
        //限制数每次插入量
        int dataLimit = 1000;
        //数据总大小
        int size = params.size();
        //是否有必要分批
        if (size <= dataLimit) {
            //执行mybatis方法
            doUpdateInterfaceInfo(params);
        } else {
            //分批数
            int part;
            if (size % dataLimit != 0) {
                part = size / dataLimit + 1;
            } else {
                part = size / dataLimit;
            }
            for (int i = 0; i < part; i++) {
                List<String> subparams;
                //判断是否是最后一次
                if (i != part - 1) {
                    subparams = params.subList(i * dataLimit, (i + 1) * dataLimit);
                } else {
                    subparams = params.subList(i * dataLimit, params.size());
                }
                ////执行mybatis方法
                doUpdateInterfaceInfo(subparams );
            }
        } 

  

posted @ 2021-04-15 10:44  若冲  阅读(541)  评论(0编辑  收藏  举报