SpringBoot使用pageHelper

pom文件增加依賴(只service需要)

  <!--mybatis-->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.3.1</version>
    </dependency>
    <!--mapper-->
    <dependency>
        <groupId>tk.mybatis</groupId>
        <artifactId>mapper-spring-boot-starter</artifactId>
        <version>1.2.4</version>
    </dependency>
    <!--pageHelper-->
    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper-spring-boot-starter</artifactId>
        <version>1.2.3</version>
        <exclusions>
            <exclusion>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
**注意解決依賴沖突**

application.proprieties

pagehelper.helperDialect=mysql
pagehelper.reasonable=true  #為了使用輸入頁數(shù)為負(fù)或者超出最大頁時(shí)候使頁數(shù)為最小或最大值
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql

代碼范例

service
   public PageInfo findAllUser(int pageNum, int pageSize) {
    PageHelper.startPage(pageNum, pageSize);
    List<User> users = userMapper.selectAllUser();
    List<UserDto> userDtos = new ArrayList<>();

    users.forEach(user -> {
        userDtos.add(dozerBeanMapper.map(user, UserDto.class));
    });
    // 用PageInfo對結(jié)果進(jìn)行包裝
    PageInfo pageInfo = new PageInfo(users);
    pageInfo.setList(userDtos);
    return pageInfo;
}

controller
@ResponseBody
@RequestMapping(value = "/all/{pageNum}/{pageSize}", produces = {"application/json;charset=UTF-8"})
public PageInfo findAllUser(@PathVariable("pageNum") int pageNum, @PathVariable("pageSize") int pageSize) {

    logger.info(String.valueOf(userService.findAllUser(pageNum, pageSize)));
    return userService.findAllUser(pageNum, pageSize);
}

請求及返回結(jié)果
    {
  "pageNum": 0,
  "pageSize": 5,
  "size": 5,
  "startRow": 1,
  "endRow": 5,
  "total": 14,
  "pages": 3,
  "list": [
    {
      "userId": 1000,
      "userName": "姓名",
      "password": "123456",
      "phone": "18123568978"
    },
    {
      "userId": 1001,
      "userName": "姓名",
      "password": "123456",
      "phone": "18123568978"
    },
    {
      "userId": 1002,
      "userName": "姓名",
      "password": "123456",
      "phone": "18123568978"
    },
    {
      "userId": 1003,
      "userName": "姓名",
      "password": "123456",
      "phone": "18123568978"
    },
    {
      "userId": 1004,
      "userName": "姓名",
      "password": "123456",
      "phone": "18123568978"
    }
  ],
  "prePage": 0,
  "nextPage": 1,
  "isFirstPage": false,
  "isLastPage": false,
  "hasPreviousPage": false,
  "hasNextPage": true,
  "navigatePages": 8,
  "navigatepageNums": [
    1,
    2,
    3
  ],
  "navigateFirstPage": 1,
  "navigateLastPage": 3,
  "firstPage": 1,
  "lastPage": 3
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,641評論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,279評論 6 342
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,172評論 25 708
  • 軟件要上線了。最近的感覺很不舒服:一個(gè)原因是因?yàn)楣ぷ髯屛腋杏X心里好累,每天加班很長時(shí)間,可能上線以后就會(huì)好一些,不...
    木頭與琉璃閱讀 243評論 0 0
  • 瀏覽器自動(dòng)化 browser automation 自動(dòng)化腳本 Writing Scripts 友好圖形介面 G...
    qianzib閱讀 200評論 0 1

友情鏈接更多精彩內(nèi)容