問題:
正常情況我的service里面只有一條查詢數據,但是因為業務需求,導致我需要先查詢,根據查詢條件判斷了再修改,最后再把修改結果查詢出來,就導致了我controller里面的startPage()分頁失效。
問題原因:
PageHelper.startPage()方法調用之后,會對緊隨其后的第一條SQL語句執行分頁,因為我service里面的第一條查詢語句不是我所返回的語句,所以導致分頁失效。
解決:
@PostMapping("/list") @ResponseBody public TableDataInfo list(BorrowerInfo borrowerInfo) { borrowerInfoService.selectBorrowerInfoList(borrowerInfo); startPage(); List<BorrowerInfo> list1 = borrowerInfoService.selectBorrowerInfoListRun(borrowerInfo); return getDataTable(list1); }
我實在不想再去service里面再去手動寫一個分頁,於是我選擇在controller單獨但寫一個只執行查詢的方法,用於查詢我之前判斷修改后的數據,這樣分頁也就成功了。