SpringBoot整合Mybatis使用分頁插件PageHelper

SpringBoot整合Mybatis使用分頁插件PageHelper很簡單

1、引入依賴

<!-- 分頁插件依賴 -->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>4.1.0</version>
</dependency>

2、增加配置類

package com.cj.wx_pay.config;

import com.github.pagehelper.PageHelper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.Properties;

/**
 * mybatis分頁插件配置
 */
@Configuration
public class MyBatisConfig {
    @Bean
    public PageHelper pageHelper(){
        PageHelper pageHelper = new PageHelper();
        Properties p = new Properties();

        // 設置爲true時,會將RowBounds第一個參數offset當成pageNum頁碼使用,避免了自己用公式去計算
        p.setProperty("offsetAsPageNum","true");

        //設置爲true時,使用RowBounds分頁會進行count查詢
        p.setProperty("rowBoundsWithCount","true");
        p.setProperty("reasonable","true");
        pageHelper.setProperties(p);
        return pageHelper;
    }
}

3、使用

    /**
     * 分頁接口
     * @param page 當前第幾頁,默認是第一頁
     * @param size  每頁顯示幾條
     * @return
     */
    @GetMapping("page")
    public Object pageVideo(@RequestParam(value = "page",defaultValue = "1")int page,
                            @RequestParam(value = "size",defaultValue = "10")int size){
        PageHelper.startPage(page,size);
        List<Video> list = videoService.findAll();
        PageInfo<Video> pageInfo = new PageInfo<>(list);
        Map<String,Object> data = new HashMap<>();
        data.put("total_size",pageInfo.getTotal());//總條數
        data.put("total_page",pageInfo.getPages());//總頁數
        data.put("current_page",page);//當前頁
        data.put("data",pageInfo.getList());//數據
        return data;
    }

訪問測試一下

可以看到已經拿到了分頁後的數據了

發佈了86 篇原創文章 · 獲贊 74 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章