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;
}
訪問測試一下
可以看到已經拿到了分頁後的數據了