分页 java分页 Spring框架

Java项目开发中实现分页的三种方式一篇包会 Java项目开发中经常要用到分页功能,现在普遍使用SpringBoot进行快速开发,而数据层主要整合SpringDataJPA和MyBatis两种框架,这两种框架都提供了相应的分页工具,使用方式也很简单,可本人在工作中除此以外还用到第三种更方便灵活的分页方式,在这里一同分享给大家。 阅读详情

在分页之前,我们先弄明白一个问题,是查询出所有数据再分页,还是只查页面显示的那几条数据呢?

各有利弊!

查询出所有数据再分页,数据会放在缓存中,换页时速度快,但是数据量很大那就不合适了

只查页面显示的几条数据,适合大数据量(推荐这种查询方式)

搞清楚了这个问题,我们就可以开始分页了(我们用第二种分页方式,只查页面显示的几条数据):

我们先看一张图:

这是我们分页是经常见到的布局。

1.用到的参数:

countrow          共几条数据

countpage       共几页

nowpage         现在是第几页

firstpage          首页

uppage           上一页

nextpage        下一页

endpage         尾页

wherepage     转到第几页

2.向后台发送请求时需要传递三个参数(根据需要可添加):

fistrow        从第几条开始(fistrow=0表示从第一条)

countrow    查几条数据

nowpage    现在是第几页

说明:页面中我们使用的是iframe框架,关于iframe框架:

http://blog.youkuaiyun.com/zqd_java/article/details/53924315

3.jsp前端页面:

	<a href="项目路径?nowpage=1&fistrow=0&countrow=5">查询</a>
<div class="updownye">
			<span>共${countrow}条数据</span>
			<span>共<%=countpage%>页,第<%=nowpage%>页</span>
			<a href="项目路径?nowpage=1&fistrow=0&countrow=5">首页</a>  
			<a id="uppage" href="javascript:void(0);">上一页</a>  
			<a id="nextpage" href="javascript:void(0);">下一页</a>  
			<a id="endpage" href="javascript:void(0);">尾页</a>
			<span>转到第<input type="text" onkeyup="this.value=this.value.replace(/\D/g,'')"  onafterpaste="this.value=this.value.replace(/\D/g,'')"  id="currentPage" value="<%=currentPage%>" class="lineye"/>页</span>
		    <a href="javascript:void(0);" class="goto" id="wherepage">Go</a>
		</div>
4.JavaScript代码:
 <script type="text/javascript">
$(document).ready(function() {
		// 点击前一页
		$("#uppage ").click(function(e){
		  var nowpage= $("#nowpage").val();
		  if (nowpage> 1) {
		   var uppage= parseInt(nowpage) - 1;
		   createView(uppage);
		  }
		});
		// 点击下一页
		$("#nextpage").click(function(e){
		  var nowpage= $("#nowpage").val();
		  var nextPage = parseInt(nowpage) + 1;
		  var countpage = <%=countpage %>;
		  if (nextPage <= countpage ) {
		  	  createView(nextPage);
		  }
		});
		// 点击末页
		$("#endpage").click(function(e){
		  var totalPage = <%=countpage%>;
		  createView(totalPage);
		});
		// 点击go
		$("#goPage").click(function(e){
		  var wherepage= $("#nowpage").val();
		  var totalPage = <%=pageCount%>;
		  if(nowpage> totalPage || currentPage <= 0){
		  	 return;
		  }
		  createView(wherepage);
		});
		
		
	function createView(wherepage){
		var index = (wherepage-1)*5;
		location.href="<%=basePath%>项目路径?wherepage="+wherepage+"&fistrow="+index+"&countrow=5";
 	}
</script>

5.后台代码:

分页:

public void getAllDwList(HttpServletRequest request, String currentPage,
			int firstResult, int maxResults) {
		// TODO Auto-generated method stub
//		List<TbDw> list = tbDwDAO.findAll(tjList);
		Long list = tbDwDAO.findsize(tjList);
		int size  = list.intValue();
		int pageCount = 0;
		if (size%maxResults == 0) {
			pageCount = size/maxResults;
		} else {
			pageCount = size/maxResults + 1;
		}
		if(size == 0) {
			request.setAttribute("currentPage", "0");
		} else {
			request.setAttribute("currentPage", currentPage);
		}
		request.setAttribute("pageCount", pageCount);
		request.setAttribute("totalCount", size);
		request.setAttribute("dw_list", tbDwDAO.findAll2(firstResult,maxResults));
	}
}

查数据:

@Override
	public List findAll2(int firstResult, int maxResults) {
		// TODO Auto-generated method stub
		try {
			String queryString = "from TbDw as model where 1=1 ";
			String queryOrderby = "order by model.dwbh ";
			String queryAnd = "";
			
			queryString = queryString + queryAnd + queryOrderby;
			Query query = sessionFactory.getCurrentSession().createQuery(
					queryString);
			query.setFirstResult(firstResult);
			query.setMaxResults(maxResults);
			return query.list();
		} catch (RuntimeException re) {
			throw re;
		}
	}

因为项目太大,不能详细说明,如有疑问,请留言或关注发私信,一定给解答!

Spring+SpringMVC+SpringData+JPA(Hibernate实现)无XML配置 Spring+SpringMVC+SpringData+JPA。目的是体验一下Spring无XML该如何配置。最后展示一下SpringData提供的分页封装类。 阅读详情

相关推荐

MATLAB .m文件中文乱码根源与精准解决方案

字符编码是计算机处理文本的基础概念,其核心在于字节流与解码规则的匹配关系;GBK与UTF-8作为两种主流中文编码标准,因字节映射差异导致跨环境读取时出现乱码;这一问题在MATLAB中集中体现为.m文件中文注释、函数名显示异常,本质是解释器默认UTF-8解码器与实际GBK字节流的错配;典型应用场景包括课程代码导入、国产软件导出脚本、跨平台(如银河麒麟)协作开发等;本文聚焦MATLAB R2016b及以上版本,提供基于fileread(Encoding)的无损、可复现、工程级解决方案,兼顾历史兼容性与现代工具链

weixin_34259232的博客 533

spring 分页方法

spring如何实现分页java spring 如何实现分页sql分页 java spring 如何实现分页 sql分页 1、前端请求参数包括page_num以及page_size,首先对这两个参数进行合法性判断,然后重新计算page_num, 让当前page_num对应你要定位的第n条数据,比如现在要查看第6的数据,且page_size=7,那也就是获取第37 行至43行的数据 1、详解:limit的使用 LIMIT可以用于强制select语句返回指定的记录数。limit接收一个或者两个数字

HX01CC的博客 1023

掌握Java分页技术:从原理到实现的完整指南

一个典型的分页实战案例可以是用户在电商网站上浏览商品列表,页面需要展示商品信息,并提供分页导航。随着Web应用的不断发展,前端技术也在日新月异地进步。在前端实现分页功能,不仅可以减少服务器的负载,还能为用户提供更流畅、更快速的浏览体验。现代前端框架和库,如React, Angular, Vue.js等,提供了许多插件和组件来帮助开发者轻松实现前端分页。本章节介绍了前端分页技术的实现原理、具体步骤、数据结构设计、性能优化以及调试与测试。

weixin_35266799的博客 851

java通用分页(后端)

除了以上的功能,JUnit 4还支持测试套件(@RunWith(Suite.class))、超时设置(@Test(timeout = xxx))、测试规则(@Rule)等高级特性,可以进行更灵活、高效的单元测试。

liaozhixiangjava的博客 6692

SSM框架整合与Mybatis-PageHelper分页功能实践

本文还有配套的精品资源,点击获取 简介:本文介绍了在企业级Web开发中广泛使用的Spring、SpringMVC和MyBatis框架的整合过程。通过详细步骤指导如何配置这三个框架,并利用MyBatis-PageHelper插件实现分页功能。整合后的SSM框架能够简化Java应用开发,提供灵活高效的数据访问,便于开发者快速搭建具备分页功能的Web项目。 1. Spr...

weixin_35391606的博客 936

Cadence Allegro 17.4 保姆级教程:PCB位号重排与反标回原理图完整避坑指南

本文详细解析了Cadence Allegro 17.4中PCB位号重排与反标回原理图的全流程,包括安全工程准备、智能重排策略和反标黄金法则。特别针对芯片封装协同设计(Co-Design)场景,提供可追溯的版本管理和故障恢复方案,帮助工程师避免常见位号陷阱,确保设计文件一致性。

weixin_30613433的博客 438

SpringBoot开发-分页查询功能

日常开发常用的分页查询功能。

qq_42211536的博客 2047

echarts实现3D地图——map3D

【代码】echarts实现3D地图——map3D。

xiaoququ的博客 7316

Spring——Spring分页查询开发实战

本文详细介绍了在 Spring 项目中实现分页查询的多种方法,重点聚焦于使用 PageHelper 插件进行分页查询的实战示例。从添加依赖、配置参数到创建实体类、Mapper 接口、Service 和 Controller 层的实现,再到测试接口和关键点解析,步骤清晰,操作详细。此外,还探讨了使用 SpringDataJPA、手写 SQL 以及 Redis/NoSQL 进行分页的方法,并对分页查询进行了总结。

庄小焱 1226

VScode利用EIDE和cortex-debug进行stm32开发(也适用51)

你是否因为keil页面太丑而烦恼,你是否因为keil编译太慢而恼怒,ok阿,今天也是给大家带来怎么在vscode上进行stm32的编程(我不会告诉你,我搞了好几天才搞好的💔💔💔)为什么是简单介绍?因为太啰嗦了,我嫌麻烦😋,大家可以去EIDE的官方文档去看。

weixin_73952614的博客 9382

Delphi解决 openssl DLL 与 Indy 的SSL/TLS 连接问题

​ 使用 SSL 连接时出错。错误 1409442E:SSL 例程:ssl3_read_bytes:tlsv1 警报协议版本 由于我使用的是最新版本的Indy,根据Delphi Praxis 上的此线程,这种情况不应该发生。事实证明,不知何故,一个非常旧版本的 openssl DLLlibeay32.dll和ssleay32.dll已被放置在我计算机上的 sarch 路径中(版本 1.0.0e)。

Delphi开发局QQ群:32422310 2491

Spring框架下分页功能的java实现(使用注解)

分页功能 之前写分页功能时,网上的很多都不完整,不容易看明白,解释不清楚。现在自己实现了之歌功能,便详细写写,供大家参考。 注解层 用于自动定位到数据库进行数据的查找。 &amp;lt;关联表&amp;gt; package cn.itsource.annotation; import java.lang.annotation.Documented; import java.lang.annotation.E...

z2014ypd的博客 1306

基于RK3588与Gstreamer的端侧实时视频流AI推理系统构建

本文详细介绍了基于RK3588芯片与Gstreamer框架构建端侧实时视频流AI推理系统的完整方案。通过硬件选型、环境配置、OpenCV编译优化、视频流处理实战及模型部署等关键环节的深入解析,展示了如何利用RK3588的6TOPS NPU算力与Gstreamer的低延迟特性,实现工业质检、智能交通等场景下的高效边缘计算。特别针对RTSP推拉流优化、RKNN模型转换等核心技术难点提供了实用解决方案。

weixin_30516243的博客 380

【java框架之spring框架】实现分页查询列表信息

分页查询 解决数据量庞大的情况下,一次查询过多数据。 一页一页的查询数据,每页查询少量数据即可。 示例 : 每页显示2条数据,共7条数据 总页数=总条数/每页大小+1 6/2 = 3 7/2 = 3+1 mybatis插件帮助我们进行分页 我们只需要告诉他当前查询第几页,每页显示多少条数据即可。 此插件会自动进行计算,把limit , 动态添加到sql语句中, 还可以帮助我们自动查询用户总数 -- 每页大小 已知条件 可以从前端传递给后端 -- 当前页码 已知条件 可以从前端传递给后端

MS_SONG的博客 1918

利用Dify平台打造大学生专属AI模拟面试助手:从零到精通的完整指南

在这个充满竞争的就业市场中,拥有一个24小时在线的AI面试教练无疑是大学生求职路上的秘密武器。通过本文的指导,你已经掌握了使用Dify平台构建专业级模拟面试助手的全套技能。从环境部署、模型选择,到Prompt设计、知识库集成,再到高级功能开发和效果优化,我们一步步打造了一个能够适应不同岗位、提供专业反馈的智能面试系统。无论是技术岗的算法问答,还是咨询业的案例分析,或是外企的英语面试,你的定制助手都能提供针对性训练。更重要的是,这个方案具有极强的可扩展性。

专注于编程、AI、人工智能等多个领域内容研究和分析 2789

科研必备:15款顶尖AI科研工具全面分析汇总(持续更新ing)

科研必备:15款AI科研工具全面分析汇总(持续更新ing)

Code_流苏:在代码中寻诗意,在实践中觅真知 9633

ssh 分页struts2+hibernate3+spring 分页

转载自:http://blog.youkuaiyun.com/wushuang5566110/article/details/6926844 1、DAO层接口的设计,在MemberDao接口中定义了如下两个方法:  public interface MemberDao{  //省略了其他的代码  /** *//**  * 分页查询  * @param hql 查询的条件  * @pa

This My Life - chisj 845

【地图模块算法】二维全局地图的开源方案及对比--gmapping、hector、karto、cartographer

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、gmapping算法建图【基于Raoo-Blackwellized粒子滤波(RBPF)算法】1.gmapping理论(1)gmapping的工作原理(2)gmapping的算法流程(3)gmapping论文理论2.gmappingROS工程框架解析(1)gmapping的功能包架构(2)gmapping订阅和发布的话题(3)gmapping算法建图参数(4)gmapping源码

qq_35635374的博客 3436

463、Java框架117 -【Spring + SpringMVC + MyBatis - 分页】 2021.01.19

目录 0、本知识点效果 1、分页类:Page 2、Category.xml 3、CategoryMapper 4、CategoryService 5、CategoryServiceImpl 6、CategoryController 7、listCategory.jsp 8、增加100个对象,用于测试 9、测试 10、参考链接 0、本知识点效果 访问页面看到如图所示效果 http://127.0.0.1:8080/ssm/listCategory 1、分页类:Pag.

youyouwuxin1234的博客 175

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

基于spring3注解的google分页

为什么80%的码农都做不了架构师?>>> ...

weixin_34023863的博客 75

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Java几款好用的运营后台分页框架推荐

这些框架都能有效减少分页逻辑的重复代码,建议根据项目的 ORM 框架选型来决定,尽量避免混合使用。:使用 Spring Data JPA 的项目,追求面向对象的分页方式。包含总条数、总页数、当前页数据等完整分页信息,前端可直接使用。:页码从 0 开始,需与前端协商处理(前端通常从 1 开始)。:基于 MyBatis 的项目,需快速快速行代码实现分页。:需要手写复杂 SQL,同时希望保留类型安全的分页。:传统 MyBatis 项目,需要快速集成分页。,再执行查询”的顺序,否则分页失效。:需严格按照“先调用。

青鱼入云的博客 616

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

spring maven分页依赖

-spring分页依赖-->

m0_66240515的博客 286

java搜索分页_SSM框架实现分页和搜索分页的示例代码

分页是Java Web项目常用的功能,昨天在Spring MVC中实现了简单的分页操作和搜索分页,在此记录一下。使用的框架为(MyBatis+SpringMVC+Spring)。首先我们需要一个分页的工具类:1.分页import java.io.Serializable;/*** 分页*/public class Page implements Serializable {private stat...

weixin_35253106的博客 205

Java实现分页功能常见的几种方法

一、limit关键字 service层 @Service @Transactional public class ImplStudentService implements StudentService { @Resource private StudentDao studentDao; @Override public List<Student> sel...

riemann_的博客 8万+

Java后端使用Spring+MyBatisPlus开发增删改查分页框架的模板参考

对于Java后端运用Spring+mybatisPlus搭建框架的模板参考

163

Oracle分页查询实例

1.定义分页实体类 @Component public class PageBean implements Serializable { private static final long serialVersionUID = 1L; private Integer page;//当前页 private Integer limit;//每页记录数 privat...

rhx_1989的专栏 374
上一篇: ModelAndView;@ResponseBody springMVC 返回类型
下一篇: iframe标签 行内框架
前端蜗牛君
博客等级 码龄10年 274粉丝 158原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值