博客中文章列表的展示,需要有置顶文章的展示
在数据库中设置一个字段“weight”, 1 表示置顶,默认为 0
通过mybatis的条件构造器,我们可以
Page<Article> page = new Page<>(pageParams.getPage(), pageParams.getPageSize()); // 条件构造器 LambdaQueryWrapper<Article> queryWrapper = new LambdaQueryWrapper<>(); // 先按照权重进行置顶排序 queryWrapper.orderByDesc(Article::getWeight); // 按照时间降序 queryWrapper.orderByDesc(Article::getCreateDate); articleMapper.selectPage(page, queryWrapper);
原理是生成的sql语句:
SELECT * FROM article ORDER BY weight DESC, create_date DESC LIMIT 10 OFFSET 0