(七)SpringBoot使用PageHelper分頁插件
阿新 • • 發佈:2018-09-30
sla pub okr app 結果集 ota 依賴 over 結果
二:添加PageHelper依賴
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.5</version> </dependency>
三:添加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
List<UserInfo> selectAll();
UserInfoServiceImpl
@Override public PageInfo<UserInfo> selectAll(Integer page, Integer size) { //開啟分頁查詢,寫在查詢語句上方 //每頁的數量 pageSize; //當前頁的數量 size; 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
情況一:不傳參數,默認為全查詢
情況二:參數 page=2&size=1
(七)SpringBoot使用PageHelper分頁插件