使用pageable进行分页查询,并与sql语句中的limit的联系

Page<OrderMaster> orderMasterPage = orderMasterRepository.findAll(pageable);
        List<OrderDTO> orderDTOList = OrderMaster2OrderDTO.convertList(orderMasterPage.getContent());
		//orderDTOList->待转换的数据
        //pageable -> pagerequest请求,请求的是第几页,每页的数据条数
        //orderMasterPage.getTotalElements() -> 总的数据条数
        return new PageImpl<>(orderDTOList,pageable,orderMasterPage.getTotalElements());

在使用的时候要传一个pagerequest进去,因为pageable是个接口,pagerequest实现了这个接口

//查那一页的数据,每页多少条数据
PageRequest pageRequest = PageRequest.of(0,5);
        Page<OrderDTO> orderDTOPage = orderService.findList(pageRequest);

PageRequest pageRequest = PageRequest.of(0,5);
其实就是mysql的limit 0,5 转换成数据的区间就是[0,5).因为查出来一个List第一条数据的下标是0.
如果又正好id是mysql自增的,并且从0开始,那么就是id为1,2,3,4,5一共5条数据.

如果还是懵逼的话,在id从0开始自增的前提下,用一个公式表达,limit n,m就是取id为两边都是闭区间[n+1,m]的数据

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值