springboot集成使用pageHelp时失效的问题分析

在springboot项目中使用了pageHelp的分页功能。
使用时发现有的分页实现了有的无法实现。

分析问题:
分页没有实现的问题表现在:设定limit的值无效,即每页显示的数据limit没有起作用。

1.在确定了pageHelp的包,版本,application.properties中的配置都没有问题(排除了配置有问题的选项)。

2.查看pageInfo.getTotalList()的值后确定是后端的pageHelp.startPage()方法没有起作用。

最后找到了问题所在:
即在springboot项目中中是在controller层进行了分页代码的编写,而在以往的ssm框架中是在service层中实现的。

ssm:

serviceImpl层中:
在这里插入图片描述
在ssm中,是直接在service的实现层中进行了分页的功能,而分页代码下跟着的就是需要分页的mapper代码。

springboot:

controller层中:
在这里插入图片描述
在springboot中,分页代码PageHelp.startPage()代码下跟着的是一个方法的集合(指在这个方法中可能会有着多个查询数据库的方法,即多个mapper代码)。

而pageHelp的插件是只对该语句下的第一个查询语句(mapper代码)起作用,所以他只会对该方法的集合中的第一个查询语句起分页作用。

即使在代码表达上看着是对该方法的集合的返回表进行了分页,但pageHelp并不是对这整个方法的集合进行分页。

解决方法:改变方法的集合中的代码结构,将需要分页的代码放置于其他mapper代码的前面。

猜你喜欢

转载自blog.csdn.net/Hambur_/article/details/113859640