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分页计算页数

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • html div 隐藏滚动条样式,div滚动条样式隐藏与显示

    html div 隐藏滚动条样式,div滚动条样式隐藏与显示DIV滚动条样式是可以设置的,CSS滚动条同样也可以显示与隐藏,对div设置滚动条,设置其横向滚动条和纵向滚动条样式应该怎么做呢?要设置CSS滚动条样式,需要用到overflow-y和overflow-x来设置div盒子对象右侧和底部滚动条效果。同时也可以使用CSS样式设置html框架iframe的滚动条隐藏,接下来为大家介绍。常规overflow怎么设置overflow-y:scroll总是显…

  • 进销存软件开发视频教程(C#版,共70讲)

    进销存软件开发视频教程(C#版,共70讲)课程出处:学途无忧网课程观看地址:http://www.xuetuwuyou.com/course/28  本教程以进销存管理实务为基础,采用时下主流的开发工具(VisualStudio2008+SQLServer2005),使用流行的C#语言。涵盖软件开发的全部过程,包括需求分析、数据库设计、架构设计、程序编码、软件发布。讲解以深入浅出为主,同时循序渐进。对软件开发过

  • rtp载荷类型_架体荷载

    rtp载荷类型_架体荷载 1简介在Internet上用分组传送话音的质量不够好的一个重要原因是比较高的丢包率。尤其在广域网中,这个问题相当突出。不幸的是,实时多媒体业务对于延时的要求相当严格,因此不大可能通过重传来解决丢包的问题。正是出于这个原因,大家提出用前向纠错(FEC)来解决Internet上的丢包问题[1][2]。尤其是对于传统纠错码如校验码、RS码、汉明码等的使用引起了很多人的注意。为了能够更好地应用这些纠错码

  • 阿里面试官:说一下从url输入到返回请求的过程,问的难度就是不一样!

    阿里面试官:说一下从url输入到返回请求的过程,问的难度就是不一样!

  • 浅析Anycast技术[通俗易懂]

    浅析Anycast技术[通俗易懂]什么是AS号码AS号码即自治系统号码,是用来标识独立的自治系统的,在同一个自治系统内,使用相同内部路由协议,自治系统间使用外部路由协议(通常是BGP协议)。申请AS号码的单位需要与两家以上(包括两家)、有不同AS号码的网络接入商进行网络互联,并计划三个月内与他们同时运行BGP协议进行外部路由。什么是BGPAnyCast?BGPanycast就是利用一个(多个)as号码在不同的地区广播相同的一个ip段。利用bgp的寻路原则,短的aspath会选成最优路径(bgp寻路原则之n),从.

  • pycharm导入cv2包_pycharm安装cv2失败

    pycharm导入cv2包_pycharm安装cv2失败windows下1.情况一:已在官网下载opencv无需下载,只需要导入环境即可;1.首先,在opencv目录中找到cv2文件夹:opencv3.4.8\opencv\build\python\cv2复制文件夹2.找到Python的根路径,在项目列表可查看(以实际显示的路径为主):在python.exe目录下找到Lib\site-packages,粘贴文件夹2.情况二:下载并…

发表回复

您的电子邮箱地址不会被公开。

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