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 ?