// 分页操作 public PageBean findProductByPage(int currentPage, int currentCount, String category) { PageBean bean = new PageBean(); // 封装每页显示数据条数 bean.setCurrentCount(currentCount); // 封装当前页码 bean.setCurrentPage(currentPage); // 封装当前查找类别 bean.setCategory(category); try { // 获取总条数 int totalCount = dao.findAllCount(category); bean.setTotalCount(totalCount); // 获取总页数 int totalPage = (int) Math.ceil(totalCount * 1.0 / currentCount); bean.setTotalPage(totalPage); // 获取当前页数据 List<Product> ps = dao.findByPage(currentPage, currentCount, category); bean.setPs(ps); } catch (SQLException e) { e.printStackTrace(); } return bean;
时间: 2024-02-14 16:28:52 浏览: 57
这段代码是一个方法 `findProductByPage()`,用于实现分页查询产品数据并封装到 `PageBean` 对象返回。
方法接受三个参数:
- `currentPage`:一个整数,表示当前页码。
- `currentCount`:一个整数,表示每页显示的数据条数。
- `category`:一个字符串,表示当前查询的产品类别。
代码逻辑如下:
1. 创建一个 `PageBean` 对象 `bean`,用于封装分页查询结果。
2. 使用 `bean.setCurrentCount(currentCount)` 将每页显示的数据条数进行封装。
3. 使用 `bean.setCurrentPage(currentPage)` 将当前页码进行封装。
4. 使用 `bean.setCategory(category)` 将当前查询的类别进行封装。
5. 尝试执行以下操作:
- 调用 `dao.findAllCount(category)` 方法获取总数据条数,并使用 `bean.setTotalCount(totalCount)` 将其封装到 `bean` 对象中。
- 根据总数据条数计算出总页数,并使用 `(int) Math.ceil(totalCount * 1.0 / currentCount)` 进行取整和向上取整操作,然后将总页数封装到 `bean` 对象中。
- 调用 `dao.findByPage(currentPage, currentCount, category)` 方法获取当前页的产品数据列表,并使用 `bean.setPs(ps)` 将其封装到 `bean` 对象中。
6. 如果在执行过程中发生了异常,打印异常信息。
7. 返回 `bean` 对象。
这个方法的作用是根据当前页码、每页显示数据条数和查询类别进行分页查询,并将查询结果封装到 `PageBean` 对象中返回。`PageBean` 对象中包含了当前页码、总页数、总数据条数以及当前页的产品数据列表。可以根据这些信息在页面上进行分页展示。
阅读全文