springboot mybatis PageHelper 分頁插件

當使用PageHelper 分頁插件以前,咱們用mybatis作分頁的話, 須要寫兩條SQL,那應該是像下面這個樣字的:mysql

使用分頁插件只有,就能夠按照如下方式來寫了:git

這樣就大大的簡化了SQL,是否是賊方便呢。github

其實PageHelper 插件的使用方式也很簡單,幾步就搞定了:spring

  1. 首先,添加maven依賴,以下:
    <!-- mybatis的分頁插件 -->
    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper-spring-boot-starter</artifactId>
        <version>1.2.7</version>
    </dependency>
  2. 配置yml文件:
    #pagehelper分頁插件配置
    pagehelper:
        helper-dialect: mysql
        reasonable: true
        support-methods-arguments: true
    說明:reasonable:分頁合理化參數,默認值爲false。當該參數設置爲 true 時,pageNum<=0 時會查詢第一頁, pageNum>pages(超過總數時),會查詢最後一頁。默認false 時,直接根據參數進行查詢。
  3. 到這裏插件的配置就完成了,具體使用方式以下,也是賊方便:
    controller代碼
    @RequestMapping(value = "helper")
    @ResponseBody
    public PageInfo<Student> Helper(Integer pageNum,Integer pageSize ){
        PageInfo pageInfo = helloService.selectList(pageNum,pageSize);
        return pageInfo;
    }
    service代碼
    public PageInfo selectList(Integer pageNum,Integer pageSize){
        PageHelper.startPage(pageNum, pageSize); // 設定當前頁碼,以及當前頁顯示的條數 
        //PageHelper.offsetPage(pageNum, pageSize);也能夠使用此方式進行設置
        List<Student> list = studentMapper.selectList();
        PageInfo<Student> pageInfo = new PageInfo<Student>(list);
        return pageInfo;
    }
    
    OR
    public PageInfo selectList(Integer pageNum,Integer pageSize){
        PageInfo<Student> pageInfo = PageHelper.startPage(1, 10).doSelectPageInfo(() -> studentMapper.selectList());
        return pageInfo;
    }

結果以下:sql

到此,PageHelper 就能夠完美的使用了!springboot

若是出現以下報錯信息,是由於springboot2.0 與 PageHelper 版本不兼容,將PageHelper的版本提升就行了mybatis

相關文章
相關標籤/搜索