SELECT * FROM product
LIMIT 0, 10;
第一个是起始索引,第二个参数是每页要显示的记录数,这是做分页的基础,一定要理解好。(可以把放在数据库里,改变参数,多跑几遍,加强理解)
一般地,我们做分页查询,会有很多参数,如:
currPage 当前的页数(即现在第几页)
currPage是从请求那边传过来的,接收即可
pageSize 当前页显示的记录数
pageSize可以自己设定,如果不设定,就是设置好默认值
totalCount:总记录数
totalCount是从数据库中进行查询 select count(*) from 表名
totalPage:总页数
totalPage需要计算
totalPage = totalPage / pageSize;
List list 要查询数据,返回list集合
上图表里面的内容就是list,为了把list从数据库中查询出来,这里引入引入begin。
原因是查询的sql语句是
String sql = “SELECT * FROM product
LIMIT ?, ?”;
这里的话,可以这样理解:from ?开始查,在此基础往后查?个记录;
即:从?开始查,往后查?个记录。
这里表示如下:
第一个问号为begin,第二个为pageSize
begin = (currPage - 1) * pageSize;
那上图来说,商品编号其实就是对应begin,加入这里是第一页,begin = (1-1)*3 = 0,也就是String sql = "SELECT * FROM product
LIMIT ?, ?"中limit从数据库的第0条查起,从而也可以看出,这里的currPage必须是大于等于1的。