场景

模拟百万用户数据时,由于数据量过大,直接查询所有用户无法响应,DevTools 也会崩溃,使用 MyBatisPlus 分页插件解决问题。

使用

  1. 调用 page 分页方法,参数通过前端传递

    1
    2
    3
    4
    5
    6
    public void recommendUsers(long pageSize, long pageNum) {
    // queryWrapper 对象
    QueryWrapper<User> queryWrapper = new QueryWrapper<>();
    // page 分页方法
    Page<User> userList = userService.page(new Page<>(pageNum, pageSize), queryWrapper);
    }
  2. 编写配置类

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    /**
    * @author ShameYang
    * @date 2024/5/22 10:57
    * @description MyBatisPlus 配置
    */
    @Configuration
    @MapperScan("com.shameyang.friendhub.mapper")
    public class MybatisPlusConfig {
    /**
    * 添加分页插件
    */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
    MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
    interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
    return interceptor;
    }
    }