一个网站如何做seo优化,一键生成作文的网站,如何用腾讯云建设自己网站,网站的设计与制作论文题目GGBond#x1f508;
CSDN的朋友们大家好哇#xff0c;我是新来的Java练习生 CodeCodeBond#xff01;
什么是PageHelper#xff1f; 这里给不知道的人儿说明一下~~ 知道的xdm可以跳过了#xff01; PageHelper顾名思义是一个 页面 帮手。也就是分页查询的一个好用的工具…GGBond
CSDN的朋友们大家好哇我是新来的Java练习生 CodeCodeBond
什么是PageHelper 这里给不知道的人儿说明一下~~ 知道的xdm可以跳过了 PageHelper顾名思义是一个 页面 帮手。也就是分页查询的一个好用的工具。他是集成Mybatis开发的时候才能使用的也就是说他是基于Mybatis的拦截Mybatis的Excutor详细可以自行冲浪大家如果有过写分页查询的需求的时候其实就会感受过写分页查询sql时候的不便性。 要思考sql分页条数的拓展性如何优化。分页逻辑看似简单但实际操作中涉及多个参数页码、每页条数、总记录数等处理不当容易导致分页错误如计算偏移量出错、页码越界等问题。维护成本高且多人开发时每个人分页逻辑不同很难统一。 但是 使用PageHelper这个工具帮我们解决了以上问题当然生产中得好好掂量这个开源工具的兼容稳定性了当使用PageHelper你的分页逻辑代码将会变成以下如此简单
RestController
public class IssueController {Resourceprivate IssueService issueService;GetMapping(/get/user/issues)public RIssuesPageVo getIssues(RequestParam(defaultValue 1) Integer pageNum,RequestParam(defaultValue 10) Integer pageSize){return R.success(issueService.getIssues(pageNum, pageSize));}
}其中的issueService其实实际你写的sql就只是一个select * 。 然后把页数、页条数放进去PageHelper就会自动帮你分好页了这样子的接口前端的coding自由度更高可以随意做拉取加载等等节流操作再也不怕前端来找茬了。不是
SpringBoot集成PageHelper正确姿势
开始学习这个插件的时候可能是网上课程较老的原因网路上搜索到的各种配置操作基本都是坑导致我看别人博客学习踩了很多坑现在我将它们分享出来希望学习的朋友们及时从坑里爬出来。
坑1 在风雨交加的一天CodeCodeBond在学习PageHelper时候开始谷歌SpringBoot配置PageHelper看了看文章标题也没错。进去发现它教我在一个SSM项目中写一个配置类甚至还有文章Maven导入的依赖也是高度重复真是让人头晕。
在SpringBoot项目究竟要导入什么依赖
网上最常见的就是这样导依赖了 虽然版本兼容的话也能跑但是这不是乱导一通吗。
来看看右边的Maven大哥怎么说
不懂英文没关系跟着我念 Omi踢 for 丢普立kei te。 其实导入pagehelper-spring-boot-starter的时候就已经包含了这些依赖项了。所以我们的SpringBoot项目也只需要导入这个依赖即可 对于一个轻度代码洁癖的CRUD boy我选择优雅导入依赖~删除冗余 在SpringBoot项目中究竟如何配置
SpringBoot中是可以直接在yml配置文件配置PageHelper的简单方便可读性高
pagehelper:helperDialect: mysqlreasonable: truesupportMethodsArguments: trueparams: countcountSqlpageSizeZero: true我们只需要在你对应的application.yml文件配你想的配置就可以啦 这也是SpringBoot项目特点之一 大大简化了配置
配置成功后为什么不成功
来我们开始启动原…Application启动 噢原来启动后有一个PageHelper的Logo啊 你看看你有没有 [doge]
然后我们调用一下我们刚刚写好的接口试一下哈 嘶调用是成功了但是为什么是select * 实际sql语句呢我想要PageHelper给我家的LIMIT 放去哪里了 坑2 这里不得不说到一个最新的版本兼容问题这个问题当时花了我很久的时间去找到。 来看看官方文档 GitHub - pagehelper/pagehelper-spring-boot: pagehelper-spring-boot
文档中明确说到 相信很多人学习生活中已经和我一样用上了SpringBoot 3.x版本了但是呢PageHelper插件在v1.4.6 才开始兼容 SpringBoot 3.x版本 所以这是个版本兼容问题的坑 朋友们注意了 怎么报500了光速跑到后厨 让我们看一下报错日志 这句话的意思是 它的LIMIT给我加到了;的后面也就是我的sql语句后面 我们把这个 “;” 删除就能正常的分页查询了。
坑3 sql语句的后面不要习惯性加上你的;,会影响PageHelper加上的LIMIT的
Once again 可以看到终于实现我们正常的分页查询了 ps: 这个响应体是我自己写的一个类返回的你也可以看看PageHelper返回的PageInfo是什么样子的然后根据需求处理数据。
最后的最后 这些都是我以前总结的一些笔记我会慢慢把他们发到CSDN这个平台希望可以帮助到大家~ 我是CodeCodeBond关注我带你游玩后端开发~