-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPageMain.java
71 lines (60 loc) · 2.48 KB
/
PageMain.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package com.example.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.entry.Gender;
import com.example.entry.User;
import com.example.mapper.UserMapper;
import org.apache.ibatis.executor.BatchResult;
import org.junit.jupiter.api.Assertions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
public class PageMain implements CommandLineRunner {
private static final Logger log = LoggerFactory.getLogger(PageMain.class);
@Autowired
private UserMapper userMapper;
@Override
public void run(String... args) throws Exception {
log.info("==================== {} ====================", getClass().getSimpleName());
save();
find();
}
private void save() {
List<User> users = IntStream.range(0, 20).mapToObj(i -> {
User user = new User();
user.setName("page-" + i);
user.setGender(Gender.MAN);
return user;
}).toList();
List<BatchResult> results = userMapper.insert(users);
Assertions.assertEquals(1, results.size());
List<Long> uids = users.stream().map(User::getId).toList();
log.info("save: uid: {}", uids);
Assertions.assertNotNull(uids);
}
private void find() {
Page<User> page;
Page<User> users;
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.likeRight(User::getName, "page-");
page = new Page<>();
page.setCurrent(1);
page.setSize(3);
users = userMapper.selectPage(page, wrapper);
log.info("find: {}", users);
Assertions.assertEquals(new HashSet<>(List.of( "page-0", "page-1", "page-2")), users.getRecords().stream().map(User::getName).collect(Collectors.toSet()));
page = new Page<>();
page.setCurrent(4);
page.setSize(6);
users = userMapper.selectPage(page, wrapper);
log.info("find: {}", users);
Assertions.assertEquals(new HashSet<>(List.of( "page-18", "page-19")), users.getRecords().stream().map(User::getName).collect(Collectors.toSet()));
}
}