数据人与超自然意识 发表于 2024-12-12 11:50:37

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

一,步骤:
1,后端代码
        1.1,startPage()放在查询列表前面。
        1.2,将查询效果放在getDataTable()中。
https://i-blog.csdnimg.cn/direct/39014c797ed548419024be808ede6661.png

2,前端代码
https://i-blog.csdnimg.cn/direct/70268f41070d46a9bfc8397a7b70a0dd.png
https://i-blog.csdnimg.cn/direct/a713e82b6fcc4150a6b5ece0822f3c35.png
https://i-blog.csdnimg.cn/direct/74c6b97788054571aaff6044eb205597.png
二,原理:
1,后端
1.1startPage()
1.1.1,BaseController里的startPage()调用PageUtils里的StartPage()。
https://i-blog.csdnimg.cn/direct/74ffd58452d64306bc3817935a69215b.png
PageUtils里的startPage()
https://i-blog.csdnimg.cn/direct/21fe4088d48842abaeacee5529861339.png
 TableSupport.buildPageRequest()去获取哀求里的pageNum,pageSize(默认1,10),orderByColumn,isAsc,reasonble
https://i-blog.csdnimg.cn/direct/83f66f70907941d1bfe9ec959e3d6744.png 1.1.2,PageHelper()举行sql的拼接
https://i-blog.csdnimg.cn/direct/d43e3721562544feb58d478a1753054a.png
https://i-blog.csdnimg.cn/direct/e7019b542bba4a12856905466640cdbc.png
https://i-blog.csdnimg.cn/direct/b6ddd13517954113b361c94b8085d43b.png
https://i-blog.csdnimg.cn/direct/f35f520ab4e74ebfbacce411564587d6.png
1.2 在控制器层面,getDataTable()封装列表的查询效果
https://i-blog.csdnimg.cn/direct/166496f4073447e594be4beabbcdf937.png
https://i-blog.csdnimg.cn/direct/0dfc6bbf447c4fa8b0b6a896d524e8db.png
三,避坑(我碰到的)
1,哀求用get传参
2,哀求体不消 @RequestBody,否则传参解析不对
3,分页信息在哀求头里,postman也是如许测
https://i-blog.csdnimg.cn/direct/88ba1592ac274c20bfa22d8ba982ade2.png
4,分页失效
4.1现象:分页传一页十条数据一页10条,总条数不对
https://i-blog.csdnimg.cn/direct/a1d86750134b4fe9906ae0c45d3d761d.png
https://i-blog.csdnimg.cn/direct/e6f1359b7ac54f8a9d0a83dc7d0b236f.png
4.2缘故原由:在impl层用stream重新处置惩罚了一下,new了一个新的list对象,导致分页失效,可将这不放在数据库层面。
https://i-blog.csdnimg.cn/direct/98134577ad9b4a41b6f20d5af1be847a.png



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 若依框架startPage()分页(步骤(前端,后端代码),原理,避坑)