栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpingBoot实现查询分页

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpingBoot实现查询分页

Maven导入分页插件pagehelper依赖

​ 在pom.xml中导入依赖

        
            com.github.pagehelper
            pagehelper-spring-boot-starter
            
            1.4.1
        

​ 如果版本不对的话会出现循环依赖的问题,貌似版本与使用的SpringBoot版本有关。

添加配置文件

​ 我这里使用application.yml添加配置文件,相关参数设置说明:

#分页pageHelper
#·helper-dialect:
#  配置使用哪种数据库语言,不配置的话pageHelper也会自动检测
#·reasonable:
#  配置分页参数合理化功能,默认是false。 #启用合理化时,如果pageNum<1会查询第一页,如果pageNum>总页数会查询最后一页; #	 禁用合理化时,如果pageNum<1或pageNum>总页数会返回空数据。
#·params:
#  为了支持startPage(Object params)方法,增加了该参数来配置参数映射,用于从对象中根据属性名取值; 可以配置 	 	 	pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默认值,
#  默认值为			  			 					          pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero。
#·support-methods-arguments:
#  支持通过Mapper接口参数来传递分页参数,默认值false,分页插件会从查询方法的参数值中,自动根据上面 params 配置的字段中取	    值,查找到合适的值时就会自动分页。
pagehelper:
  helper-dialect: mysql
  reasonable: true
  support-methods-arguments: true
编写代码 在mapper层中编写查询数据库表的方法,返回List

​ SQL语句采用注解的方式编写:

	
    @Select( "SELECT t1.*,t2.`GROUP_NAME` FROM device t1 LEFT JOIN group_device t2 ON t1.`GROUP_ID` = t2.`ID`" )
    List queryDevice();	

​ 在Service层与Impl中也编写相关方法:

service:
PageInfo findAllDevicesByPageS(Integer pageNum, Integer pageSize);
Impl中编写分页方法实现,直接调用mapper层的方法执行数据库操作:

​ pageNum表示当前页数,pageSize表示每页数据量,返回分页信息。

    @Autowired
    private DevicesInfoDao devicesInfoDao;

	@Override
    public PageInfo findAllDevicesByPageS(Integer pageNum , Integer pageSize) {
        PageHelper.startPage( pageNum,pageSize );
        List lists = devicesInfoDao.queryDevice();
        PageInfo pageInfo = new PageInfo(lists);
        return pageInfo;
    }
在Controller层中与前端实现交互:

​ 使用自定义的返回数据格式。

	@Autowired
    private DevicesInfoDao devicesInfoDao;
    
	
    @GetMapping("/queryDevicesInPage")
    ResultModel queryDevicesInPage(Integer pageNum,Integer pageSize){
        PageInfo queryResult = devicesInfoService.findAllDevicesByPageS(pageNum,pageSize);
        return new ResultModel( ResultCode.CODE_00000.getCode(),"查询成功",queryResult );
    }
查看结果:

每个参数的含义:

​ 每个参数代表的意思 示例:
​ pageNum=1,当前页码
​ pageSize=1,每页个数
​ size=1,当前页个数
​ startRow=1,由第几条开始
​ endRow=1,到第几条结束
​ total=3,总条数
​ pages=3,总页数
​ list= XXXX 查出出来的数据集合
​ prePage=0,上一页
​ nextPage=2,下一页
​ isFirstPage=true,是否为首页
​ isLastPage=false,是否为尾页
​ hasPreviousPage=false,是否有上一页
​ hasNextPage=true,是否有下一页
​ navigatePages=8,每页显示的页码个数
​ navigateFirstPage=1,首页
​ navigateLastPage=3,尾页
​ navigatepageNums=[1, 2, 3]}页码数

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/837935.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号