【Mybatis】mybatis如何实现分页
mysql分页功能原理
实现分页必要条件
- 必须知道某一页从哪里开始到哪里结束
- 必须知道页面的大小,也就是指定每页要显示多少条数据量
mysql分页的过程
注意:mysql的计数是从0开始的,也就是说第一条数据对应的下标应该为0
- 假设我们现在需要一页显示10条数据,
- 那么第0页的10条数据的编号就是 0 1 2 3 4 5 6 7 8 9
- 那么第1页的数据的编号是10 11 12 13 14 15 16 17 18 19
- 那么第2页的数据编号就是20 21 22 23 24 25 26 27 28 29
- …
- 那么第n页的数据编号就是10*n … (n+1)*10-1
可以很明显的看到,第n页的第一条数据的编号就是 n*页面大小
mysql的limit语法
limit 语法
limit 开始 多少条(n, m)
mysql分页的实现主要依赖于limit语法
mysql的分页实现
-
其实也就是
select * from xxx_table limit 页数*页面大小 页面大小
-
记录的总条数(total)
select count(1) from xxx_table;
-
页面大小(pageSize)就直接接收用户所发送的pageSize
-
总页数(totalPages)
totalPage的计算 1. 当 total/pageSize 的余数等于0时,总页数(totalPage)就是total/pageSize 2. 当 total/pageSize 无法整除,余数不等于0时,总页数就是total/pageSize + 1
-
以上。
mybatis 实现分页
1. Dao层
/*
* 分页查询
* */
public List