今天使用pagehelper踩了一個很大的坑記錄一下。業務層我在return前面加入如下一段代碼。用作測試結果坑了我一天。
1 List<Coursespovo> coursespovos=cousermaMapping.selectAllCourse (); 2 for (Coursespovo coursespovo:coursespovos){ 3 System.out.println("coursepovosservice"+coursespovo); 4 }
問題:分頁不好使顯示全部數據。
經過查詢資料發現
使用PageHelper.startPage 靜態方法調用startPage :
特點:
1. 靜態方法,傳遞兩個參數(當前頁碼,每頁查詢條數)
2. 使用pageHelper 分頁的時候,不再關注分頁語句,查詢全部的語句
3. 自動的對PageHelper.startPage 方法下的第一個sql 查詢進行分頁
PageHelper.startPage(1,5);
//緊跟着的第一個select 方法會被分頁
List<Country> list = countryMapper.findAll();
也就是說再Service層PageHelper.startPage(1,5);語句后一定是緊跟查詢語句。
是緊跟着的查詢語句
而我的我在返回值那又查詢一遍數據所以給我返回的不是分頁后的數據。
我的業務層代碼
public List<Coursespovo> getCourse() { List<Coursespovo> coursespovos=cousermaMapping.selectAllCourse (); for (Coursespovo coursespovo:coursespovos){ System.out.println("coursepovosservice"+coursespovo); } return cousermaMapping.selectAllCourse (); } //改成 public List<Coursespovo> getCourse() { return cousermaMapping.selectAllCourse (); } //坑我幫你們踩了一定記得緊跟的語句。
本文借鑒https://www.cnblogs.com/kitor/p/11009434.html