SpringBoot基础 | 第十章 - 整合PageHelper实现分页查询

SpringBoot基础教程

环境

JDK1.8
Maven

工具

IntelliJ IDEA

SpringBoot基础 | 第一章 - 快速搭建Web应用
SpringBoot基础 | 第二章 - 配置热部署
SpringBoot基础 | 第三章 - 使用配置文件
SpringBoot基础 | 第四章 - 日志配置
SpringBoot基础 | 第五章 - 整合lombok
SpringBoot基础 | 第六章 - 整合SpringDataJPA
SpringBoot基础 | 第七章 - 整合缓存 SpringDataCache
SpringBoot基础 | 第八章 - 整合Mybatis
SpringBoot基础 | 第九章 - 整合Mapper3实现MyBatis通用Mapper
SpringBoot基础 | 第十章 - 整合PageHelper实现分页查询


Mybatis 本身提供的分页操作使用的是逻辑分页,从性能本身考虑是不符合生产需求的,要实现物理分页,则需要自行实现 plugin,而 PageHelper 就是一个目前使用比较广泛且非常方便的分页插件。

操作步骤

一、添加依赖
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.7</version>
</dependency>

使用方法

@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class AppTest {
     
     @Autowired
     private UserRepository userRepository;

     @Test
     public void testPageHelper() throws Exception{
         log.info("<----------------------- testPageHelper ------------------------>");
         PageHelper.startPage(2, 10);
         Page<User> page = (Page<User>) userRepository.selectAll();
         System.out.println("当前页码:" + page.getPageNum());
         System.out.println("每页记录条数:" + page.getPageSize());
         System.out.println("总记录数:" + page.getTotal());
         System.out.println("总页数:" + page.getPages());
     }

}

打印结果

当前页码:2
每页记录条数:10
总记录数:1
总页数:1

查看日志,执行SQL,确定执行了物理分页操作

SELECT count(0) FROM user
SELECT id,username,passwd,sex,birthday FROM user LIMIT ?
发布了153 篇原创文章 · 获赞 22 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/gongm24/article/details/83185788