Spring Boot怎么集成PageHelper使用

发布时间:2022-04-21 10:16:26 作者:iii
来源:亿速云 阅读:221

Spring Boot怎么集成PageHelper使用

在开发Web应用时,分页功能是一个非常常见的需求。Spring Boot快速开发的框架,提供了丰富的集成方案。PageHelper是一个非常好用的MyBatis分页插件,能够帮助我们轻松实现分页功能。本文将详细介绍如何在Spring Boot项目中集成PageHelper,并展示如何使用它进行分页查询。

1. 添加依赖

首先,我们需要在pom.xml文件中添加PageHelper的依赖。PageHelper依赖于MyBatis,因此我们还需要确保项目中已经引入了MyBatis的相关依赖。

<dependencies>
    <!-- Spring Boot Starter Web -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- MyBatis Spring Boot Starter -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.2.0</version>
    </dependency>

    <!-- PageHelper -->
    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper-spring-boot-starter</artifactId>
        <version>1.4.1</version>
    </dependency>

    <!-- MySQL Connector -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
</dependencies>

2. 配置PageHelper

application.propertiesapplication.yml文件中,我们需要对PageHelper进行一些基本的配置。

# 数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# MyBatis配置
mybatis.mapper-locations=classpath:mapper/*.xml

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

3. 使用PageHelper进行分页查询

在配置完成后,我们就可以在代码中使用PageHelper进行分页查询了。以下是一个简单的示例:

3.1 创建实体类

首先,我们创建一个实体类User,对应数据库中的user表。

public class User {
    private Long id;
    private String name;
    private Integer age;

    // getters and setters
}

3.2 创建Mapper接口

接下来,我们创建一个Mapper接口UserMapper,用于操作user表。

@Mapper
public interface UserMapper {
    List<User> findAll();
}

3.3 创建Mapper XML文件

resources/mapper目录下创建UserMapper.xml文件,定义SQL查询。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.UserMapper">
    <select id="findAll" resultType="com.example.demo.entity.User">
        SELECT * FROM user
    </select>
</mapper>

3.4 在Service中使用PageHelper

在Service层中,我们可以使用PageHelper进行分页查询。以下是一个简单的示例:

@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;

    public PageInfo<User> findAllUsers(int pageNum, int pageSize) {
        PageHelper.startPage(pageNum, pageSize);
        List<User> users = userMapper.findAll();
        return new PageInfo<>(users);
    }
}

3.5 在Controller中调用Service

最后,我们在Controller中调用Service层的方法,返回分页数据。

@RestController
@RequestMapping("/users")
public class UserController {
    @Autowired
    private UserService userService;

    @GetMapping
    public PageInfo<User> getUsers(@RequestParam(defaultValue = "1") int pageNum,
                                   @RequestParam(defaultValue = "10") int pageSize) {
        return userService.findAllUsers(pageNum, pageSize);
    }
}

4. 测试分页功能

启动Spring Boot应用后,我们可以通过访问http://localhost:8080/users?pageNum=1&pageSize=5来测试分页功能。返回的JSON数据将包含分页后的用户信息以及分页的详细信息。

{
    "total": 100,
    "list": [
        {
            "id": 1,
            "name": "User1",
            "age": 20
        },
        {
            "id": 2,
            "name": "User2",
            "age": 22
        },
        ...
    ],
    "pageNum": 1,
    "pageSize": 5,
    "pages": 20,
    ...
}

5. 总结

通过以上步骤,我们成功地在Spring Boot项目中集成了PageHelper,并实现了分页查询功能。PageHelper的使用非常简单,只需要在查询前调用PageHelper.startPage()方法即可。通过合理的配置,我们可以轻松地实现各种分页需求。

希望本文对你有所帮助,祝你在Spring Boot开发中取得更多成果!

推荐阅读:
  1. Spring Boot集成Spring Security
  2. Spring Boot 整合Pagehelper(为什么PageHelper分页不生效)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

springboot pagehelper

上一篇:python怎么实现多次绘制条形图

下一篇:C#怎么使用Task.ContinueWith组合任务

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》