文章列表分页查询(条件分页)

文章列表分页查询(条件分页)_第1张图片文章列表分页查询(条件分页)_第2张图片 文章列表分页查询(条件分页)_第3张图片文章列表分页查询(条件分页)_第4张图片

pojo.PageBean

package com.lin.springboot01.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class PageBean {
    private Long total; //总条数
    private List items; //当前页数据集合
}

ArticleController

    @GetMapping
    public Result> list(
            Integer pageNum,
            Integer pageSize,
           @RequestParam(required = false) Integer categoryId,
            @RequestParam(required = false) String state
    ){
        PageBean
pb = articleService.list(pageNum,pageSize,categoryId,state); return Result.success(pb); }

 ArticleService

    //条件分页列表查询
    PageBean
list(Integer pageNum, Integer pageSize, Integer categoryId, String state);

ArticleServiceImpl

    @Override
    public PageBean
list(Integer pageNum, Integer pageSize, Integer categoryId, String state) { //1.创建pagebean对象 PageBean
pb = new PageBean<>(); //2.开启分页查询 PageHelper.startPage(pageNum,pageSize); //3.调用mapper Map map = ThreadLocalUtil.get(); Integer userId = (Integer) map.get("id"); List
as = articleMapper.list(userId,categoryId,state); //Page中提供了方法,可以获取PageHelper分页查询后得到的总记录条数和当前页数据 Page
p = (Page
) as; //把数据填充到PageBean对象中 pb.setTotal(p.getTotal()); pb.setItems(p.getResult()); return pb; }

ArticleMapper

    List
list(Integer userId, Integer categoryId, String state);

文章列表分页查询(条件分页)_第5张图片

文章列表分页查询(条件分页)_第6张图片

需要拼接sql语句,所有我们用ArticleMapper.xml中写拼接代码。

注意resours下的mapper结构目录一定要跟上面的mapper结构目录一样。!!!

 ArticleMapper.xml




    
    

完成:

文章列表分页查询(条件分页)_第7张图片

你可能感兴趣的:(springboot+vue,java,开发语言,spring,boot)