福州+网站开发,低价网站建设推广优化,成都地铁建设分公司网站,用php做企业网站的可行性分页查询
分页查询是日常开发中比较常用的功能。MyBatis框架下也有很多插件实现分页功能#xff0c;比如pageHelper。这是一款非常简单、易用的分页插件#xff0c;能很好地集成在Spring Boot中。pageHelper是一款基于MyBatis的数据库分页插件#xff0c;所以我们在使用它时…分页查询
分页查询是日常开发中比较常用的功能。MyBatis框架下也有很多插件实现分页功能比如pageHelper。这是一款非常简单、易用的分页插件能很好地集成在Spring Boot中。pageHelper是一款基于MyBatis的数据库分页插件所以我们在使用它时需要使用MyBatis作为持久层框架。下面通过示例演示pageHelper实现分页查询。
1.添加pageHelper依赖
修改pom.xml文件添加pageHelper依赖
dependencygroupIdcom.github.pagehelper/groupIdartifactIdpagehelper-spring-boot-starter/artifactIdversion1.4.6/version
/dependencypageHelper提供了针对Spring Boot框架的依赖库pagehelper-spring-boot-starter对于Spring Boot项目可以使用pagehelper-spring-boot-starter组件。
2.增加pageHelper配置
在application.properties中增加pageHelper配置。
# 分页框架
pagehelper.helperDialectmysql
pagehelper.reasonabletrue
pagehelper.supportMethodsArgumentstrue
pagehelper.paramscountcountSql上面的示例是pageHelper分页框架的初始配置主要用于指定数据库类型。
helperDialect指定数据库类型可以不配置pageHelper插件会自动检测数据库的类型。reasonable分页合理化参数默认为false当该参数设置为true时当pageNum≤0时默认显示第一页当pageNum超过pageSize时显示最后一页。supportMethodsArguments分页插件会根据查询方法的参数自动在params配置的字段中取值找到合适的值会自动分页。params用于从对象中根据属性名取值可以配置pageNum、pageSizecount不用配置映射的默认值。
3.调用测试
增加单元测试方法验证分页功能是否生效。示例代码如下 Testpublic void testSelectListPaged() {PageHelper.startPage(1,5);ListStudent students studentMapper.selectAll();PageInfoStudent pageInfo new PageInfoStudent(students);System.out.println(总页数:pageInfo.getPages(),总条数:pageInfo.getTotal(),当前页:pageInfo.getPageNum());for (Student stu : students) {System.out.println(name:stu.getName(),age:stu.getAge());}}在上面的示例中分页的核心只有一行代码PageHelper.startPage(page,pageSize);就标识开始分页。添加此行代码之后pageHelper插件会通过其内部的拦截器将执行的SQL语句转化为分页的SQL语句。
单击Run Test或在方法上右击选择Run ‘testSelectListPaged’查看单元测试结果运行结果如图所示。 结果表明单元测试方法运行成功控制台输出了当前页的数据列表、总页数、数据总条数和当前页。这说明使用pageHelper插件成功实现了分页功能。
使用时PageHelper.startPage(pageNum, pageSize)一定要放在列表查询的方法中这样在查询时会查出相应的数据量以及总数。