java切分查询数据库表
时间:2021-07-01 10:21:17
帮助过:11人阅读
/**
2 * 准备工作,插入数据,100000条记录。
3 */
4 @Test
5 public void test11() {
6 for (
int i = 0; i < 100000; i++
) {
7 UserInfo userInfo =
new UserInfo();
8 //生成随机数单号(1到100000)。
9 Random random =
new Random();
10 int max = 100000
;
11 int min = 1
;
12 int s = random.nextInt(max) % (max - min + 1) +
min;
13
14 userInfo.setAge(random.nextInt(90) + 10
);
15 userInfo.setName("张三" +
i);
16 userInfo.setBillCode("" +
s);
17 userInfoMapper.insertSelective(userInfo);
18 }
19 }
20
21 /**
22 * 查询数据,如查询1000个单号,每300个拆分。最后把结果集合并。
23 */
24 @Test
25 public void test12() {
26 //结果集
27 List<UserInfo> result=
Lists.newArrayList();
28 List<String> listSearch =
Lists.newArrayList();
29 for (
int i = 1; i <= 1000; i++
) {
30 listSearch.add(i+""
);
31 }
32 //按每300个拆分。只需查询3次数据库,用in查询。
33 List<List<String>> listOne = Lists.partition(listSearch, 300
);
34 for (List<String>
one : listOne) {
35 UserInfoExample example=
new UserInfoExample();
36 example.createCriteria().andBillCodeIn(one);
37 List<UserInfo> oneUserInfo=
userInfoMapper.selectByExample(example);
38 result.addAll(oneUserInfo);
39 }
40 //输出
41 for(UserInfo userInfo:result){
42 System.out.println("显示:"+
JSON.toJSONString(userInfo));
43 }
44 }
输出:
源码下载地址:
链接:https://pan.baidu.com/s/1hFq9DefyFMKgrk06iJylXw
提取码:fx4o
java切分查询数据库表
标签:dal baidu def 提取 public ext 应用 ring 插入数据