web商城——分页和选择查询

本文介绍了在Web商城中实现分页查询的方法。首先,定义了一个PageBean用于封装分页信息,包括当前页数currentPage和每页的商品数量currentCount。接着,通过数据库查询获取商品总数totalCount,进而计算出总页数totalPage。最后,从数据库中获取对应页码的productList数据,以实现分页展示。
摘要由CSDN通过智能技术生成

**分页:主要就是封装一个大的分页数据类 PageBean 传入前台

public class PageBean<T> {
	private int currentPage; //当前页(浏览器传递)
	private int currentCount; //当前页显示的个数 (固定值)
	private int totalCount; //总记录数,数据库查询
	private int totalPage; //总分页数
	private int startIndex; //开始索引
	private List<Product> productlist = new ArrayList<Product>(); //分页数据,数据库查询

通过前台传入 当前页currentPage,
通过后台 数据库查询 获得总记录数totalCount,即商品总数。
通过计算currentPage,currentCount,totalCount 来获得总分页数totalPage,
由数据库查询获得 productlist分页数据

//获得分页的商品数据
	public List<Product> findProductListForPagebean(int currentPage, int currentCount) throws SQLException {
		QueryRunner qr = new QueryRunner(DataSourceUtils.getDataSource());
		//分页查询,limit 开始索引,每页显示个数(开始索引--->      (当前页数-1)*每页显示个数)
		int index = (currentPage - 1) * currentCount;
		String sql = "select * from product limit ?,?";

		return qr.query(sql, new BeanListHandler<Product>(Product.class), index, currentCount);

	}
	public static PageBean findPageBean(int currentPage, int currentCount) throws SQLException {
		//目的就是封装一个pagebean 并返回
		PageBean<Product> pageBean = new PageBean();
		/*
		private int currentPage; //当前页(浏览器传递)
		private int currentCount; //每页显示的个数 (固定值)
		private int totalCount; //总记录数,数据库查询
		private int totalPage; //总分页数
		private int startIndex; //开始索引
		private List<T> productList = new ArrayList<T>(); //分页数据,数据库查
		 */

		QueryProduct dao = new QueryProduct();

		//private int currentPage; //当前页(浏览器传递)
		pageBean.setCurrentPage(currentPage);
		//每页显示的个数 (固定值)
		pageBean.setCurrentCount(currentCount);
		//总记录数
		int totalCount = dao.getProductTotalCount();
		/* private int totalPage; //总分页数
		    *       总页数 = Math.ceil(总条数/当前显示的条数)
		 */
		//	pageBean.setTotalPage(totalPage); //总分页数
		int totalPage = (int) Math.ceil(1.0 * totalCount / currentCount);
		pageBean.setTotalPage(totalPage);

		//private List<T> productList = new ArrayList<T>(); //分页数据,数据库查
		List<Product> productlist = dao.findProductListForPagebean(currentPage, currentCount);
		System.out.println(productlist.size());
		pageBean.setProductlist(productlist);

		System.out.println(pageBean.getProductlist().size());

		return pageBean;

	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值