當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
从零搭建自己的SpringBoot后台框架(七)
生活随笔
收集整理的這篇文章主要介紹了
从零搭建自己的SpringBoot后台框架(七)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Hello大家好,本章我們添加PageHelper分頁查詢功能。有問題可以聯系我mr_beany@163.com。另求各路大神指點,感謝
一:什么是PageHelper
PageHelper是一款好用的開源免費的Mybatis第三方物理分頁插件
物理分頁
支持常見的 12 種數據庫。Oracle,MySql,MariaDB,SQLite,DB2,PostgreSQL,SqlServer 等
支持多種分頁方式
支持常見的RowBounds(PageRowBounds),PageHelper.startPage 方法調用,Mapper 接口參數調用
二:添加PageHelper依賴
<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.5</version> </dependency>復制代碼然后鼠標右鍵選擇Maven→Reimport進行依賴下載
三:添加PageHelper配置
在application.properties中添加
logging.level.com.example.demo.dao=DEBUG pagehelper.helperDialect=mysql pagehelper.reasonable=true pagehelper.supportMethodsArguments=true pagehelper.params=count=countSql pagehelper.page-size-zero=true復制代碼四:使用方法
UserInfoMapper.xml
<select id="selectAll" resultMap="BaseResultMap">select<include refid="Base_Column_List"/>from user_info </select>復制代碼UserInfoMapper
UserInfoService
PageInfo<UserInfo> selectAll(Integer page,Integer size);復制代碼UserInfoServiceImpl
@Override public PageInfo<UserInfo> selectAll(Integer page, Integer size) {//開啟分頁查詢,寫在查詢語句上方//只有緊跟在PageHelper.startPage方法后的第一個Mybatis的查詢(Select)方法會被分頁。PageHelper.startPage(page, size);List<UserInfo> userInfoList = userInfoMapper.selectAll();PageInfo<UserInfo> pageInfo = new PageInfo<>(userInfoList);return pageInfo; }復制代碼UserInfoController
@ApiOperation(value = "查詢用戶", notes = "分頁查詢用戶所有") @ApiImplicitParams({@ApiImplicitParam(name = "page", value = "當前頁碼",dataType = "Integer", paramType = "query"),@ApiImplicitParam(name = "size", value = "每頁顯示條數",dataType = "Integer", paramType = "query") }) @PostMapping("/selectAll") public RetResult<PageInfo<UserInfo>> selectAll(@RequestParam(defaultValue = "0") Integer page,@RequestParam(defaultValue = "0") Integer size) {PageInfo<UserInfo> pageInfo = userInfoService.selectAll(page, size);return RetResponse.makeOKRsp(pageInfo); }復制代碼五:PageHelper中默認PageInfo的成員變量介紹
//當前頁 private int pageNum; //每頁的數量 private int pageSize; //當前頁的數量 private int size; //當前頁面第一個元素在數據庫中的行號 private int startRow; //當前頁面最后一個元素在數據庫中的行號 private int endRow; //總記錄數 private long total; //總頁數 private int pages; //結果集 private List<T> list; //第一頁 private int firstPage; //前一頁 private int prePage; //是否為第一頁 private boolean isFirstPage; //是否為最后一頁 private boolean isLastPage; //是否有前一頁 private boolean hasPreviousPage; //是否有下一頁 private boolean hasNextPage; //導航頁碼數 private int navigatePages; //所有導航頁號 private int[] navigatepageNums; 復制代碼六:功能測試
地址:http://192.168.1.104:8080/userInfo/selectAll
情況一:不傳參數,默認為全查詢
{"code": 200,"data": {"endRow": 2,"firstPage": 0,"hasNextPage": false,"hasPreviousPage": false,"isFirstPage": false,"isLastPage": true,"lastPage": 0,"list": [{"id": 1,"userName": "Mr_初晨"},{"id": 2,"userName": "Mr_初晨"}],"navigateFirstPage": 0,"navigateLastPage": 0,"navigatePages": 8,"navigatepageNums": [],"nextPage": 0,"orderBy": "","pageNum": 0,"pageSize": 0,"pages": 0,"prePage": 0,"size": 2,"startRow": 1,"total": 2},"msg": "success" }復制代碼情況二:參數 page=2&size=1
{"code": 200,"data": {"endRow": 2,"firstPage": 1,"hasNextPage": false,"hasPreviousPage": true,"isFirstPage": false,"isLastPage": true,"lastPage": 2,"list": [{"id": 2,"userName": "Mr_初晨"}],"navigateFirstPage": 1,"navigateLastPage": 2,"navigatePages": 8,"navigatepageNums": [1,2],"nextPage": 0,"orderBy": "","pageNum": 2,"pageSize": 1,"pages": 2,"prePage": 1,"size": 1,"startRow": 2,"total": 2},"msg": "success" }復制代碼項目地址
碼云地址: gitee.com/beany/mySpr…
GitHub地址: github.com/MyBeany/myS…
寫文章不易,如對您有幫助,請幫忙點下star
結尾
添加PageHelper分頁查詢功能已完成,后續功能接下來陸續更新,有問題可以聯系我mr_beany@163.com。另求各路大神指點,感謝大家。
總結
以上是生活随笔為你收集整理的从零搭建自己的SpringBoot后台框架(七)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 刺激战场段位详细分数
- 下一篇: 三星 Galaxy A14 4G 手机现