- 一 、环境背景
- 二 、配置MyBatis-plus的内置分页类
- 三、场景应用——文章列表分页
- 3.1 核心函数
- 3.2 过程分析
- 3.3 实例代码
Springboot下实现博客的文章列表分页
二 、配置MyBatis-plus的内置分页类为了让springboot得知我们配置了分页功能,需要创建配置类,进行以下配置
-
增加注解
@configuration 标注为配置注解
@MapperScan mybatis扫包,标注配置的应用包位置
@Configuration
//mybatis扫包
@MapperScan("com.bhy.blog.dao.mapper")
public class MybatisPlusConfig {
//分页插件
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return interceptor;
}
}
三、场景应用——文章列表分页
3.1 核心函数
3.2 过程分析> E selectPage(E page, @Param("ew") Wrapper queryWrapper);
-
传入页码信息 (第几页,一页多少条)
Page
page= new Page<>(pageParams.getPage(),pageParams.getPageSize()); -
设置查询条件
LambdaQueryWrapper
queryWrapper = new LambdaQueryWrapper<>(); .... -
使用selectpage()函数,返回Page对象
Page
articlePage = articleMapper.selectPage(page, queryWrapper); -
通过getRecords()函数从Page对象中获取article数组
List
records = articlePage.getRecords(); -
将article数组传回前端
return records
该代码实现了 文章列表的分页查询,并遵循置顶优先,创建日期次优先的规则排序
@Override
public Result listArticle(PageParams pageParams) {
Page page= new Page<>(pageParams.getPage(),pageParams.getPageSize());
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
//是否置顶进行排序 创建日期排序
queryWrapper.orderByDesc(Article::getWeight,Article::getCreateDate);
Page articlePage = articleMapper.selectPage(page, queryWrapper);
List records = articlePage.getRecords();
return records;
}



