分页助手PageHelper的使用

简介

pagehelper是一个很好用的mybatis的分页插件,通过这个插件可以非常方便的实现分页功能。

官网地址

使用

这个插件的使用方式非常简单。

引入依赖

新建一个springboot项目,添加以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--mybatis-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.4</version>
</dependency>

<!--mapper-->
<dependency>
    <groupId>tk.mybatis</groupId>
    <artifactId>mapper-spring-boot-starter</artifactId>
    <version>2.1.5</version>
</dependency>
<!--pagehelper 分页-->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.5</version>
</dependency>

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>

添加配置

#数据库
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/study_springboot?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
spring.datasource.username = root
spring.datasource.password = root

#mybatis
mybatis.type-aliases-package=com.njit.model
mybatis.mapper-locations=classpath:mapper/*.xml

#pagehelper
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql

然后在启动类上指定tk-mapper的包名。

@SpringBootApplication
@MapperScan("com.njit.mapper")
public class PagehelperDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(PagehelperDemoApplication.class, args);
    }

}

添加数据库的实体类

@Data
public class User {

    private Integer id;

    private String name;

    private String password;
}

编写通用mapper

import com.njit.model.User;
import tk.mybatis.mapper.common.Mapper;

/**
 * @Author: njitzyd
 * @Date: 2021/2/21 22:28
 * @Description: UserMapper
 * @Version 1.0.0
 */
public interface UserMapper  extends Mapper<User> {
}

测试

实际使用中只要在进行数据库查询的前面用静态方法指定分页的参数即可。

@SpringBootTest
class PagehelperDemoApplicationTests {

    @Autowired
    private UserMapper userMapper;
    @Test
    void contextLoads() {
        PageHelper.startPage(2,3);
        userMapper.selectAll().forEach(e->
                System.out.println(e)
        );
    }

}

会输出如下结果:

image-20210221224510992

和我们预期的数据符合,数据库中的数据如下图:

image-20210221224556217

总结

到此,分页助手的基本使用就介绍完毕了。


njitzyd
58 声望7 粉丝