若依框架startPage()分页(步骤(前端,后端代码),原理,避坑)

一,步骤:

1,后端代码

        1.1,startPage()放在查询列表前面。

        1.2,将查询结果放在getDataTable()中。

2,前端代码

二,原理:

1,后端

1.1startPage()

1.1.1,BaseController里的startPage()调用PageUtils里的StartPage()。

PageUtils里的startPage()

 TableSupport.buildPageRequest()去获取请求里的pageNum,pageSize(默认1,10),orderByColumn,isAsc,reasonble

 1.1.2,PageHelper()进行sql的拼接

1.2 在控制器层面,getDataTable()封装列表的查询结果

三,避坑(我遇到的)

1,请求用get传参

2,请求体不用 @RequestBody,否则传参解析不对

3,分页信息在请求头里,postman也是这样测

4,分页失效

4.1现象:分页传一页十条数据一页10条,总条数不对

4.2原因:在impl层用stream重新处理了一下,new了一个新的list对象,导致分页失效,可将这不放在数据库层面。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值