javaweb分页原理详解

网友投稿 198 2023-05-25


javaweb分页原理详解

本文实例为大家分享了javaweb分页原理的具体实现代码,供大家参考,具体内容如下

public class Page {

private int currentPage;

private int totalPage;

private int count;

private int PageSize;

private List list;

private String category;

}

servlet:

package com.learning.web.servlet;

import java.io.IOException;

import java.util.List;

import javax.enterprise.inject.New;

import javax.servlet.ServletException;

imuhKxSport javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.learning.domain.Page;

import com.learning.domain.Product;

import com.learning.service.ProductService;

@WebServlet("/showProductByPage")

public class ShowProductByPage extends HttpServlet {

private static fiuhKxSnal long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

int currentPage=1;

int pageSize=4;

//第一次取为空

String currentPageString=request.getParameter("currentPage");

if (currentPageString!=null) {

currentPage=Integer.parseInt(currentPageString);

}

String category = request.getParameter("category");

if ("".equals(category)) {

category=null;

}

ProductService productService=new ProductService();

Page page=productService.showProductByPage(currentPage,pageSize,category);

request.setAttribute("page", page);

request.getRequestDispatcher("/product_list.jsp").forward(request, response);

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doGet(request, response);

}

}

service:

public Page showProductByPage(int currentPage, int pageSize, String category) {

try {

Page page=new Page();

int count=productDao.count(category);

page.setCount(count);

page.setList(productDao.findProductsByPage(currentPage,pageSize,category));

int totalPage=(int) Math.ceil(1.0*count/pageSize);

page.setPageSize(pageSize);

page.setCurrentPage(currentPage);

page.setTotalPage(totalPage);

page.setCategory(category);

return page;

} catch (SQLException e) {

e.printStackTrace();

}

return null;

}

Dao:

public int count(String category) throws SQLException {

QueryRunner queryRunner=new QueryRunner(C3P0Util.getDataSource());

String sql=" select count(*) from products ";

if (category!=null) {

sql+=" where category='"+category+"'";

}

long l= (Long)queryRunner.query(sql, new ScalarHandler(1));

return (int) l;

}

public List findProductsByPage(int currentPage, int pageSize, String category) throws SQLException {

QueryRunner queryRunner=new QueryRunner(C3P0Util.getDataSource());

String sql=" select * from products ";

if (category!=null) {

sql+=" where category='"+category+"'";

}

sql+=" limit ?,?";

return queryRunner.query(sql, new BeanListHandler(Product.class),(currentPage-1)*pageSize,pageSize);

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:作为老司机使用 React 总结的 11 个经验教训
下一篇:spring boot如何使用spring AOP实现拦截器
相关文章

 发表评论

暂时没有评论,来抢沙发吧~