當使用PageHelper 分頁插件以前,咱們用mybatis作分頁的話, 須要寫兩條SQL,那應該是像下面這個樣字的:mysql
使用分頁插件只有,就能夠按照如下方式來寫了:git
這樣就大大的簡化了SQL,是否是賊方便呢。github
其實PageHelper 插件的使用方式也很簡單,幾步就搞定了:spring
<!-- mybatis的分頁插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.7</version> </dependency>
#pagehelper分頁插件配置 pagehelper: helper-dialect: mysql reasonable: true support-methods-arguments: true
說明:reasonable:分頁合理化參數,默認值爲false。當該參數設置爲 true 時,pageNum<=0 時會查詢第一頁, pageNum>pages(超過總數時),會查詢最後一頁。默認false 時,直接根據參數進行查詢。
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