java如何实现分页查询_java分页计算页数

java如何实现分页查询_java分页计算页数思路,假设数据库里的某张表的数据的条数是185条,我要实现的是一页显示10条,也就是说,展示完所有的数据需要19页,每一页的号是,1-10;11-20,22-31;第一页是a,a+9,第二页就是(a+9)+1,((a+9)+1)+9….一直到(b+9)>185;packagecn.com.servlet;importjava.io.IOException;import…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

思路,假设数据库里的某张表的数据的条数是185条,我要实现的是一页显示10条,也就是说,展示完所有的数据需要19页,每一页的号是,1-10;11-20,22-31;

第一页是a,a+9,第二页就是(a+9)+1,((a+9)+1)+9….一直到(b+9)>185;

package cn.com.servlet;
import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.com.gj.Person_info;
import cn.com.lf.JdbcUtils;
public class Personnel_definition extends HttpServlet {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
   doPost(request, response);	
	}
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//查询数据库里面数据的总条数
		 //1.数据库里面数据的总条数;
		  int countpage=0;
		 String sql0="select * from person_info";	
		 ResultSet rs0=JdbcUtils.select(sql0, null);
		 try {
			while(rs0.next()){
				countpage++; 
			 }
		} catch (SQLException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		 //每页显示多少行
			int limt=10;
		 //2.如果一页是10条数据的话,那么就是all页
		 int all=(countpage/limt)+1;
		//这个是从前台获取的数据,是上一页还是下一页
		 int cpage=0;
		 //这个是上一页还是下一页的数据
		 String currentpage=request.getParameter("currentpage");
		 if(currentpage==null||currentpage==""){
			 cpage=1; 
		 }
		 else{
			 cpage=Integer.parseInt(currentpage);
			 //如果到了最后一页,用户再点击下一页的时候跳转到第一页
			 if(cpage==(all+1)){
				cpage=1; 
				//如果到了第一页,用户再点击下一页的时候跳转到最后一页
			 }else if(cpage==0){cpage=18;}
		 }
	 
	   //3.开始查询的数据
	    int start=limt*(cpage)-9;
	   //4.结束查询的数据
	    int end=limt*cpage;
	    
	    //这个代码是查询数据库里面的person_info,然后循环遍历显示在页面上
	    //sql语句的意思就是limit 索引,显示索引以后多少行
	    String sql="select * from person_info limit ?,?";	
	  //如果到了最后一页的时候,
		if(end>countpage){
			limt=countpage-start+1;
		}
		int sz[]={start,limt};
		ResultSet rs=JdbcUtils.selectint(sql, sz);
		ArrayList<Person_info> list=new ArrayList<Person_info>();
		
		try {
			while(rs.next()){
			//把获取的值放在pi里面,再把pi放在集合里面
				Person_info pi=new Person_info(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6));
				list.add(pi);
			}
			request.setAttribute("list", list);
				request.setAttribute("cpage", "尾页");	
			
			request.setAttribute("cpage", cpage);
			request.setAttribute("all", all);
			request.getRequestDispatcher("Personnel_definition.jsp").forward(request, response);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

java如何实现分页查询_java分页计算页数

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188888.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Proteus中的电容(Capacitors)的分类[通俗易懂]

    Proteus中的电容(Capacitors)的分类[通俗易懂]AudioGradeAxial音响级轴向引线电容AxialLeadPolypropene轴向引线聚丙烯电容AxialLeadPolystyrene轴向引线聚苯乙烯电容CeramicDisc陶瓷圆片电容DecouplingDisc去耦圆片电容ElectrolyticAluminum铝质电解电容HighTempRadial径向引线高

    2022年8月22日
  • python电脑版微信-微信PC版的API接口 | 可通过Python调用微信功能

    python电脑版微信-微信PC版的API接口 | 可通过Python调用微信功能微信PC版的API接口,可通过Python调用微信获取好友、群、公众号列表,并收发消息,接受转账、好友请求、入群请求,群管理等功能。可用于二次开发在线微信机器人、微信消息监控、群控软件、开发界面作多个微信控制软件等用途。clone/下载源码到本地安装源码包里的微信客户端(你以前的版本和这个不一致的都需要安装这个)执行源码中的test.py目前提供pyd和依赖的相关文件,通过python直接impo…

    2022年5月16日
  • yum 命令讲解「建议收藏」

    yum 命令讲解「建议收藏」(一)yum介绍Yum(全称为YellowdogUpdater,Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。 …

    2022年5月5日
  • 04 _ 可扩展架构案例(一):电商平台架构是如何演变的?[通俗易懂]

    04 _ 可扩展架构案例(一):电商平台架构是如何演变的?[通俗易懂]本章,我就针对最近十几年电商平台的架构变化过程,来具体说明下,为了支持业务的快速发展,架构是如何一步步演进的。从2003年淘宝上线开始,国内电商平台经历了高速的发展,在这个过程中,系统遇到了很多的挑战,比如说:如何针对当前的业务现状,选择合适的架构呢?如何在业务发展过程中,升级改造架构,并保证系统的平滑过渡呢?接下来,我会结合自己的工作实践,和你一起探讨架构的演变历程,你可以从中了解到各种架构的优劣点和适用性,然后在实际工作中选择合适的架构。这里,我总结了国内电商平台架构发展的大致过程,你可以结合图片

    2022年6月16日
  • 基于Docker运行弹性集群的五个关键点之:运行高可用模式

    基于Docker运行弹性集群的五个关键点之:运行高可用模式

    2022年2月22日
  • 1941设置站点模板,一生珍藏,所有玩具

    1941设置站点模板,一生珍藏,所有玩具

    2022年1月6日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号