1. 程式人生 > 其它 >3.26 mybatis 分頁引數

3.26 mybatis 分頁引數

 

MySql根據當前頁pageNo、顯示條數pageSize,實現分頁查詢的SQL

 

一:分頁需求:

客戶端通過傳遞start(頁碼),limit(每頁顯示的條數)兩個引數去分頁查詢資料庫表中的資料,那我們知道MySql資料庫提供了分頁的函式limit m,n,但是該函式的用法和我們的需求不一樣,所以就需要我們根據實際情況去改寫適合我們自己的分頁語句,具體的分析如下:

比如:

查詢第1條到第10條的資料的sql是:select * from table limit 0,10; ->對應我們的需求就是查詢第一頁的資料:select * from table limit (1-1)*10,10;

查詢第10條到第20條的資料的sql是:select * from table limit 10,20; ->對應我們的需求就是查詢第二頁的資料:select * from table limit (2-1)*10,10;

查詢第20條到第30條的資料的sql是:select * from table limit 20,30; ->對應我們的需求就是查詢第三頁的資料:select * from table limit (3-1)*10,10;

 

在MyBatis中LIMIT之後的語句不允許的變數不允許進行算數運算,會報錯。
LIMIT (#{pageNo}-1)*#{pageSize},#{pageSize}; // 錯誤
LIMIT ${(pageNo-1)*pageSize},${pageSize}; (正確)

(19條訊息) MySql根據當前頁pageNo、顯示條數pageSize,實現分頁查詢的SQL_陳晨辰呀的部落格-CSDN部落格_pagesize