图书分页
分页模块的分析
分页模型Page 的抽取(当前页数,总页数,总记录数,当前页数据,每页记录数)
/**
* Page 是分页的模型对象
* @param <T> 是具体的模块的javaBean 类
*/
public class Page<T> {
public static final Integer PAGE_SIZE = 4;
// 当前页码
private Integer pageNo;
// 总页码
private Integer pageTotal;
// 当前页显示数量
private Integer pageSize = PAGE_SIZE;
// 总记录数
private Integer pageTotalCount;
// 当前页数据
private List<T> items;
分页的实现
BookDao 代码:
@Override
public Integer queryForPageTotalCount() {
String sql = "select count(*) from t_book";
Number count = (Number) queryForSingleValue(sql);
return count.intValue();
}
@Override
public List<Book> queryForPageItems(int begin, int pageSize) {
String sql = "select `id` , `name` , `author` , `price` , `sales` , `stock` , `img_path` imgPath from t_book limit ?,?";
return querryForList(Book.class,sql,begin,pageSize);
}
BookService 代码:
@Override
public Page<Book> page(int pageNo, int pageSize) {
Page<Book> page = new Page<Book>();
page.setPageSize(pageSize);
//总记录数
Integer pageTotalCount = bookDao.queryForPageTotalCount();
page.setPageTotalCount(pageTotalCount);
//求总页码
Integer pageToal = pageTotalCount/pageSize;