日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot集成MyBatis的分页插件PageHelper

發布時間:2024/7/19 javascript 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot集成MyBatis的分页插件PageHelper 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【寫在前面】

項目的后臺管理系統需要展示所有資源信息,select * 雖然方便但數據量過于龐大會嚴重降低查找效率,頁面加載慢,用戶體驗差。分頁自然是必要選擇,但原生的方法過于繁雜。MyBatis的分頁插件PageHelper和SpringBoot的集成是更好的選擇,它的使用非常簡單,開發更為高效。

代碼如下

一、pom文件導入依賴

<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.5</version></dependency>

二、配置application.yml

##pagehelper分頁插件 pagehelper:helperDialect: mysqlreasonable: truesupportMethodsArguments: trueparams: count=countSql

三、編寫PageRequest、PageResult 實體類

package com.jxnu.os.model;/*** @author xiao*/ public class PageRequest {/*** 當前頁碼*/private int pageNum;/*** 每頁數量*/private int pageSize;public int getPageNum() {return pageNum;}public void setPageNum(int pageNum) {this.pageNum = pageNum;}public int getPageSize() {return pageSize;}public void setPageSize(int pageSize) {this.pageSize = pageSize;} } package com.jxnu.os.model;import java.util.List;/*** @author xiao*/ public class PageResult {/*** 當前頁碼*/private int pageNum;/*** 每頁數量*/private int pageSize;/*** 記錄總數*/private long totalSize;/*** 頁碼總數*/private int totalPages;/*** 數據模型*/private List<?> content;public int getPageNum() {return pageNum;}public void setPageNum(int pageNum) {this.pageNum = pageNum;}public int getPageSize() {return pageSize;}public void setPageSize(int pageSize) {this.pageSize = pageSize;}public long getTotalSize() {return totalSize;}public void setTotalSize(long totalSize) {this.totalSize = totalSize;}public int getTotalPages() {return totalPages;}public void setTotalPages(int totalPages) {this.totalPages = totalPages;}public List<?> getContent() {return content;}public void setContent(List<?> content) {this.content = content;} }

四、service層 編寫findPage、PageInfo方法

public PageResult findPage(PageRequest pageRequest,Integer p_id) {return PageUtils.getPageResult(pageRequest, getPageInfo(pageRequest,p_id));}/*** 調用分頁插件完成分頁* @param pageRequest* @return*/private PageInfo<Resource> getPageInfo(PageRequest pageRequest,Integer p_id) {int pageNum = pageRequest.getPageNum();int pageSize = pageRequest.getPageSize();PageHelper.startPage(pageNum, pageSize);List<Resource> resources = resourceMapper.selectPage(p_id);return new PageInfo<Resource>(resources);}

五、controller層編寫findPage方法

@PostMapping(value="/findPage")public Object findPage(@RequestBody(required = false) PageRequest pageQuery,Integer p_id) {//System.out.println(pageQuery.getPageNum());//System.out.println(p_id);return resourceService.findPage(pageQuery,p_id);}

ok ,大功告成!

總結

以上是生活随笔為你收集整理的SpringBoot集成MyBatis的分页插件PageHelper的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。