一、创建分页的工具类PageUti,存储分页所需要的五个数据:pageIndex(当前页码),pageSize(每页记录条数),count(总记录数),pageNum(总页数),list(每一页的内容)。
/**
* @param <T> 泛型类
*/
public class PageUtil<T> {
//当前页码
private int pageIndex;
//每页记录数
private int pageSize;
//总记录数
private int count;
//总页数
private int pageNum;
//每一页的内容
private List<T> list;
}
二、xml文件:MySQL对分页的支持是通过limit子句。
如:
# 每页10条记录,取第一页,返回的是前10条记录
select * from books limit (1-1)*10,10;
# 每页10条记录,取第二页,返回的是第11条记录,到第20条记录,
select * from books limit (2-1)*10,10;
所以:limit的第一个参数=(当前页码-1)*每页记录数
<!--分页,查询当前页的内容-->
<select id="getBooksPage" resultType="list" parameterType="map">
select * from books limit #{pageIndex},#{pageSize}
</select>
<!--查询总记录数-->
<select id="getCount" resultType="int" parameterType="map">
select count(*) from books
<