MyBatis-Plus分页 mdash  mdash PageHelper和IPage介绍

MyBatis-Plus分页功能是基于PageHelper和IPage这两个工具实现的。PageHelper是一个通用的分页插件,而IPage是MyBatis-Plus自带的分页接口。在接下来的文章中,我将详细介绍这两个工具的使用方法,并且给出一些实际案例进行说明。

一、PageHelper

PageHelper是一个基于MyBatis的通用分页插件,可以方便地进行列表数据的分页查询。它支持多种数据库类型,包括MySQL、Oracle、PostgreSQL等,使用简单方便,非常适合在项目中使用。

1. 引入依赖

在项目的pom.xml文件中引入以下依赖:

```xml

com.github.pagehelper

pagehelper-spring-boot-starter

1.2.13

```

2. 配置分页插件

在Spring Boot的配置文件application.properties或application.yml中配置PageHelper的相关参数,例如:

```yaml

pagehelper.helperDialect=mysql

pagehelper.supportMethodsArguments=true

pagehelper.params=count=countSql

```

其中,helperDialect指定数据库类型,supportMethodsArguments设置为true表示支持方法参数调用,params=count=countSql表示查询总数的Sql。

3. 使用分页插件

在进行分页查询的方法上使用PageHelper.startPage方法来开启分页功能,例如:

```java

public List getUsersByPage(int pageNum, int pageSize) {

// 使用PageHelper开启分页功能

PageHelper.startPage(pageNum, pageSize);

// 调用查询方法获取分页结果

List userList = userMapper.selectUsers();

return userList;

}

```

这样就可以实现查询指定页码和每页大小的数据列表。

二、IPage

IPage是MyBatis-Plus自带的分页接口,它提供了更多的分页功能和灵活性。如果你使用了MyBatis-Plus框架,可以直接使用IPage来实现分页查询。

1. 引入依赖

在项目的pom.xml文件中引入MyBatis-Plus的依赖:

```xml

com.baomidou

mybatis-plus-boot-starter

3.4.0

```

2. 配置分页插件

在Spring Boot的配置文件application.properties或application.yml中配置MyBatis-Plus的分页插件,例如:

```yaml

mybatis-plus:

configuration:

# 开启驼峰命名转换

mapUnderscoreToCamelCase: true

global-config:

# 配置分页插件

page-helper:

# 设置分页插件为IPage类型

type: com.baomidou.mybatisplus.extension.plugins.pagination.Page

```

3. 使用分页插件

在进行分页查询的方法中,使用MyBatis-Plus提供的Page对象来进行分页,例如:

```java

public IPage getUsersByPage(int pageNum, int pageSize) {

// 创建Page对象并设置分页参数

Page page = new Page<>(pageNum, pageSize);

// 调用查询方法获取分页结果

IPage userPage = userMapper.selectPage(page, null);

return userPage;

}

```

除了使用Page对象进行分页查询,IPage还提供了其他的分页信息,例如总页数、总记录数等。

案例说明:

假设我们有一个用户管理系统,需要实现用户列表的分页查询。我们使用PageHelper来实现分页功能。

1. 配置PageHelper

在Spring Boot的配置文件application.properties或application.yml中配置PageHelper的相关参数。

2. 编写查询方法

在UserService类中编写getUsersByPage方法来实现分页查询:

```java

public List getUsersByPage(int pageNum, int pageSize) {

// 使用PageHelper开启分页功能

PageHelper.startPage(pageNum, pageSize);

// 调用查询方法获取分页结果

List userList = userMapper.selectUsers();

return userList;

}

```

3. 调用分页查询方法

在UserController类中调用分页查询方法来获取用户列表:

```java

@GetMapping("/users")

public Result getUsers(@RequestParam(defaultValue = "1") int pageNum,

@RequestParam(defaultValue = "10") int pageSize) {

List userList = userService.getUsersByPage(pageNum, pageSize);

return Result.ok(userList);

}

```

这样就可以实现根据指定页码和每页大小查询用户列表的功能。

总结:

通过上述的介绍,我们可以看出,PageHelper和IPage都是很好用的分页工具。PageHelper是一个通用的分页插件,适用于任何基于MyBatis的项目;而IPage是MyBatis-Plus自带的分页接口,提供了更多的分页功能和灵活性。根据实际的项目需求,可以选择合适的分页工具来实现分页查询功能。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/

点赞(33) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部