栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

PageHelper分页技术

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PageHelper分页技术

    翻页原理
    数据库中数据往往非常多,实际关心的往往是最新的。通常的做法就是分页显示,将数据按一定排序,最关心的先显示出来,如果需要后序数据,用户发起下一页请求即可。

sql翻页语句

select id,title from question where user_id=11 limit 0,8;

从第0条开始,一页8条数据

    PageHelper翻页组件
    第三方组件PageHelper提供了上述页号换算Limit参数算法

    第一步导入组件
    父工程pom.xml

    
        
        1.4.1
    
    
        com.github.pagehelper
        pagehelper-spring-boot-starter
        ${pagehelper.starter.version}
    
    

straw-protal项目pom.xml

        
            com.github.pagehelper
            pagehelper-spring-boot-starter
        

重构方法

public interface IQuestionService extends IService {
    
    PageInfo getMyQuestions(Integer pageNumber,Integer pageSize);
}

实现方法

@Override
    public PageInfo getMyQuestions(Integer pageNumber,Integer pageSize) {

        if(pageNumber == null || pageSize == null){
            throw new ServiceException("翻页参数错误");
        }
        PageHelper.startPage(pageNumber,pageSize);
//        利用QuestionMapper进行查询,返回结构是list
        List questions = questionMapper.selectList(query);

        return new PageInfo<>(questions);
    }

controller方法

@RestController
@RequestMapping("/v1/question")
@Slf4j
public class QuestionController {

    @Autowired
    IQuestionService questionService;

    @GetMapping("/my")
    public R> my(){
        try{
            log.debug("开始请求当前用户的全部问题");
            PageInfo pageInfo = questionService.getMyQuestions(1,8);
            return R.ok(pageInfo);
        }
        catch (ServiceException e){
            log.error("加载当前用户失败",e);
            return R.failed(e);
        }
    }
}

测试方法

@Test
    @WithMockUser(username = "st2",password = "888888")
    public void getMyQuestion(){

       PageInfo pageInfo = questionService.getMyQuestions(1,8);
       System.out.println(pageInfo);
       //获得list
       List questions = pageInfo.getList();
       questions.forEach( question -> System.out.println(question) );
       //System.out.println(pageInfo);
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/755908.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号