最近做博客网站时,遇到一个问题:如何把数据库中查到的数据以固定的条数在前端展示,实现分页查询的功能。上网搜了一下,了解到以下情况
分页查询有两种方式
一种是: 后端将所有数据传给前端,前端来分页。如果数据规模比较小的情况下可以使用,如果数据量较大,对内存、网络传输的消耗都是非常大的,所以实际开发中一般很少使用。
一种是:后端进行分页:有逻辑分页和物理分页。
逻辑分页就是在进行数据库查询时一次性将数据查出来,然后将相应页的数据挑出返回。
物理分页就是通过在查询时就查询相应的页的数据(比如直接在mysql查询语句添加limit)。
很明显逻辑分页跟第一种前端分页的方式有着相同的弊端。
这里讲解一下用插件PageHelper实现物理分页
PageHelper简介
PageHelper是Github上开源的MyBatis分页插件,使用起来非常的简单,方便,并且支持任何复杂的单表、多表分页。它能在不改变原本的select 语句情况下,拼接上分页的SQL语句。如mysql的话,会直接在select语句后加上 limit语句。
maven 引入相关jar包
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.7</version>
</dependency>
配置PageHelper
@Configuration
public class PageHelperConfig {
@Bean
public PageHelper pageHelper(){
PageHelper pageHelper = new PageHelper();
Properties properties = new Properties(<