pagehelper.startpage();這個方法說的是我要開始分頁了哈,全部資料聽我號令,沒錯,這個東東就是幹這個的,並且還很挑位置,他就喜歡在最開始的位置,你放錯位置你的結果就不是你想要的了,我要說的重點是假如你確定要使用這個方法了,那就善始善終,用完它,不然的話,哼哼,你會發現你**裡所有的查詢方法都會出現問題,不管是有分頁還是沒分頁,都會出現資料要麼正常,要麼就少了,然後就和我一樣,還不知道**出問題了,心累
劃重點:在你使用pagehelper.startpage(),但是在執行完.startpage()後,沒有查詢資料庫操作,並且此次查詢請求響應結束,執行緒空閒時,又有新的別的查詢請求進來,此時執行緒復用,mybaits通過自身的***攔截,導致給新的查詢自動新增了limit?,?,從而報錯,沒錯就是這個問題,用我的話說就是,你既然選擇我了,就要對我有始有終,不然後果自負。
當然我們都是對待人和事物有始有終的好男兒,出現這種問題是因為想用人家mybaits的分頁功能,還要自己去實現,問題就出現了,想要自己去分頁,不使用pagehelper.startpage(),我們自己去分,我自己封裝了分頁工具類,拿去。
/**
* 分頁
** @param pagesize 當前頁面大小
* @param pageno 當前頁碼
* @param list 需要分頁的集合
* @param page
* @return
*/public
static list
>
sublistpager
(int pagesize,
int pageno, list list, pagebean page)
throws indexoutofbound***ception
else
page.
settotalpage
(totalpage)
;// 當前第幾頁資料
currentpage = totalpage < pageno ? pageno : totalpage;
// 起始索引
int fromindex = pagesize *
(currentpage -1)
;// 結束索引
int toindex = pagesize * currentpage > totalrecord ? totalrecord : pagesize * currentpage;
if(fromindex ==
0&& toindex ==0)
trycatch
(indexoutofbound***ception e)
return datalist;
}
mybatis實現分頁
邏輯分頁 1.1.業務控制層 public void selectdeptwithpage1 1.2 資料訪問層 select from t department and deptname like if where select 2.物理分頁 這種分頁是我們mysql資料庫支援的,其實也就是拼sq...
MyBatis分頁查詢
sqlsession物件的selectlist方法有個rowbounds引數,該引數可用於控制返回的記錄數量。使用 如下 資料抓取機制 是先將當前頁記錄以及前面所有記錄,以及後面一條記錄都抓取出來,然後再擷取當前頁記錄顯示。例如需要抓取顯示4 6條記錄時,實際獲取的是前6條記錄,外加第7條記錄。這種...
mybatis分頁外掛程式
其實吧,這個分頁的封裝是我從mybatis實戰上抄的,然後又重構了下 形成了自己的。現在之所以會記錄一下,主要原因是出現了質變 對foreach的支援,而解決這個問題的過程中,我感覺,應該基本上使用上沒有多少侷限行了。下面說說實際的吧。基本的設計思路,是使用mybatis外掛程式,首先是下面這一串註...