溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring?Boot怎么集成PageHelper使用

發布時間:2022-04-21 10:16:26 來源:億速云 閱讀:240 作者:iii 欄目:開發技術

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
  • helperDialect:指定數據庫方言,這里我們使用mysql。
  • reasonable:分頁合理化參數,默認值為false。當該參數設置為true時,pageNum<=0時會查詢第一頁,pageNum>pages(超過總數時),會查詢最后一頁。
  • supportMethodsArguments:支持通過Mapper接口參數來傳遞分頁參數,默認值為false。
  • params:用于配置參數映射。

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);
    }
}
  • PageHelper.startPage(pageNum, pageSize):設置分頁參數,pageNum表示當前頁碼,pageSize表示每頁顯示的記錄數。
  • PageInfoPageHelper提供的分頁信息類,包含了分頁后的數據以及分頁的詳細信息。

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);
    }
}
  • @RequestParam(defaultValue = "1") int pageNum:設置默認的頁碼為1。
  • @RequestParam(defaultValue = "10") int pageSize:設置默認的每頁記錄數為10。

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開發中取得更多成果!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女