java List分批处理

java List分批处理,例如对List中的数据进行批量插入。

方法一:

 1 /**
 2  * ClassName:Test List分批处理
 3  * @author Joe
 4  * @version
 5  * @since JDK 1.8
 6  */
 7 public class Test {
 8 
 9     public static void main(String[] args) throws InterruptedException {
10         // 计数器
11         int count = 1;
12 
13         List<String> list = new ArrayList<String>();
14         // 填充List
15         for(int i = 0; i<10003; i ++){
16             list.add(i + "");
17         }
18         // 临时List
19         List<String> tempList = new ArrayList<String>();
20 
21         for (String s : list) {
22             tempList.add(s);
23             // 分 1000条 执行 批量insert
24             if (count == 1000) {
25                 // TODO 执行 insert 操作
26                 System.out.println("insert-1-" + tempList);
27                 // 重新计数
28                 count = 1;
29                 // 清空list,重新塞数据
30                 tempList.clear();
31             } else {
32                 count++;
33             }
34         }
35         
36         // 扫尾
37         if (count > 0) {
38             // TODO 执行 insert 操作
39             System.out.println("insert-2-" + tempList);
40             // 重新计数
41             count = 1;
42             // 清空list,重新塞数据
43             tempList.clear();
44         }
45     }
46 }

方法二:

 1 /** 
 2  * ClassName:Test2  List分批处理
 3  * @author 原文地址:http://blog.csdn.net/lxxc11/article/details/52817817
 4  * @version
 5  * @since JDK 1.8
 6  */
 7 public class Test2 {
 8 
 9     public static void main(String[] args) {
10         // 1.总记录数
11         List<String> oldList = new ArrayList<String>();
12         for (int i = 0; i < 10003; i++) {
13             oldList.add(i + "");
14         }
15 
16         // 2.分页数据信息
17         int totalSize = oldList.size(); // 总记录数
18         int pageSize = 1000; // 每页N条
19         int totalPage = totalSize / pageSize; // 共N页
20 
21         if (totalSize % pageSize != 0) {
22             totalPage += 1;
23             if (totalSize < pageSize) {
24                 pageSize = oldList.size();
25             }
26         }
27         System.out.println("循环保存的次数:" + totalPage);    // 循环多少次
28 
29         // 临时List
30         List<String> temList = null;
31         for (int pageNum = 1; pageNum < totalPage + 1; pageNum++) {
32             int starNum = (pageNum - 1) * pageSize;
33             int endNum = pageNum * pageSize > totalSize ? (totalSize) : pageNum * pageSize;
34             System.out.println("起始:" + starNum + "-" + endNum);
35             temList = oldList.subList(starNum, endNum);
36             System.out.println("第" + pageNum + "批,执行insert:" + temList);
37         }
38     }
39 }

 

posted @ 2017-08-15 15:08  小葱拌豆腐~  阅读(4328)  评论(4编辑  收藏  举报