Springboot模糊分页查询思路

2022-07-03 10:15:15

最近做项目用到了模糊分页查询,做一些必要的笔记,一来是对自己学习的知识的巩固,二来对有同样问题的人有参考作用


我们几乎做的每一个项目都会用到分页查询,多条件动态查询或者这两者结合即多条件动态分页查询

1、先谈一下分页查询的思路

前端需要提供

  • page(页号)

  • pageSize(每页大小)

两个核心参数,由pagepageSize我们通过公式:

start=(page-1)*pageSize

获取到数据库查询的起始位置start,然后通过:

<selectid="list"parameterType="Map"resultMap="ArcTypeResult">
	select * from t_arcType<iftest="start!=null and size!=null">
		limit #{start},#{size}</if></select>

就可查询到一页数据。

2、其次是多条件动态动态查询

多条件动态查询的思路十分简单,就是一个拼接查询条件的过程,我们可以判断某项条件传来的参数是否为空,如果是空的话就不作操作,否则拼接条件。

具体实现可参考:springboot jpa实现多条件动态查询

3、最后是多条件动态动态分页查询

功能需求如图所示:
在这里插入图片描述
实现思路,在提供了pagepageSize的基础上,我们还需要提供查询条件title,这样我们通过:

<selectid="list"parameterType="Map"resultMap="ArticleResult">
        select * from t_article<where><iftest="title!=null and title!=''">
                and title like #{title}</if></where>
        order by crawlerDate desc<iftest="start!=null and size!=null">
            limit #{start},#{size}</if></select>

查询到一页数据,需要注意的是:为了达到第二页数据依然是模糊分页查询的结果,在生成的底部分页导航栏的地址中,都应该附加参数'&title=xxx',比如:

href = "list?page=1&pageSize=10&title=浅谈java虚拟机"

总结

如有错误恳请指正,如有雷同纯属巧合

  • 作者:一只菜狗
  • 原文链接:https://blog.csdn.net/qq_39007083/article/details/107151897
    更新时间:2022-07-03 10:15:15