乐趣区

关于mybatis:分页助手PageHelper的使用

分页助手 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)
        );
    }

}

会输入如下后果:

和咱们预期的数据合乎,数据库中的数据如下图:

总结

到此,分页助手的根本应用就介绍结束了。

退出移动版