本文章结合Spring JPA 与 DWZ框架,描述分页。总共有2中方式,第一种使用Spring DATA JPA 的Page自带的分页功能,第二种使用类似Hibernate的分页方式。第一种相对于第一种较简单。
前端内容显示一致:
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%><%@ include file="/WEB-INF/jsp/layouts/dwz-taglib.jsp"%> <form id="pagerForm" method="post" action="<c:url value='/system/info/channelType/list.htm'/>"> <input type="hidden" name="pageNum" value="${currentPage}" /> <input type="hidden" name="numPerPage" value="${numPerPage}" /> </form> <!--搜索栏开始--> <!--搜索栏结束--> <!--表格列表开始--> <div class="pageContent"> <div class="panelBar"> <ul class="toolBar"> <li><a class="add" target="navTab" rel="addChannelType" href="<c:url value='/system/info/channelType/add.htm'/>" title="添加分类"><span>添加</span></a></li> <li><a class="edit" target="navTab" rel="editChannelType" href="<c:url value='/system/info/channelType/edit'/>/{slt_objId}.htm" title="编辑分类"><span>编辑</span></a></li> <li><a class="delete" target="ajaxTodo" href="<c:url value='/system/info/channelType/delete'/>/{slt_objId}.htm" title="你确定要删除吗?"><span>删除</span></a></li> </ul> </div> <table class="table" width="99%" layoutH="200" rel="jbsxBox"> <thead> <tr> <th width="50">NO.</th> <th>名称</th> <th>编码</th> </tr> </thead> <tbody> <c:forEach var="item" items="${itemList}" varStatus="s"> <tr target="slt_objId" rel="${item.id }"> <td>${s.index + 1}</td> <td>${item.name}</td> <td>${item.code}</td> </tr> </c:forEach> </tbody> </table> <div class="panelBar"> <div class="pages"> <span>显示</span> <select name="numPerPage" onchange="navTabPageBreak({numPerPage:this.value})"> <c:forEach begin="10" end="40" step="10" varStatus="s"> <option value="${s.index}" ${numPerPage eq s.index ? 'selected="selected"' : ''}>${s.index}</option> </c:forEach> </select> <span>条,共${totalCount}条</span> </div> <div class="pagination" targetType="navTab" totalCount="${totalCount}" numPerPage="${numPerPage}" pageNumShown="${pageNumShown}" currentPage="${currentPage}"></div> </div> </div> <!--表格列表结束-->
该JSP内容结合DWZ做分页列表。
方式一:
Spring提供了两个分页的类,分别是pager和pageable,下面使用这两个类完成web数据的分页及显示.
控制层:
@RequestMapping("/list") public String list(HttpServletRequest request, HttpServletResponse response, Model model) throws Exception { QueryParameter parameter = QueryParameter.createQuery(); Integer currentPage = 0; Integer pageNum = getIntParameter(request, "pageNum"); if (pageNum != null) { currentPage = getIntParameter(request, "pageNum"); currentPage = currentPage - 1; } Page<ChannelType> pct = channelTypeService.getPage(parameter, currentPage, Constant.DEFAULT_PAGE_SIZE); addPageResultModel(pct, model); return getListPage(); } protected void addPageResultModel(Page<ChannelType> pct, Model model) { int currentPage = pct.getNumber() + 1; model.addAttribute("totalCount", pct.getTotalElements()); model.addAttribute("numPerPage", Constant.DEFAULT_PAGE_SIZE); model.addAttribute("pageNum", currentPage); model.addAttribute("pageNumShown", pct.getTotalPages()); model.addAttribute("currentPage", currentPage); model.addAttribute("itemList", pct.getContent()); }
服务层:
public Page<ChannelType> getPage(QueryParameter parameter, int pageStart, int pageSize) throws Exception { return channelTypeDao.findAll(DynamicSpecifications.buildAndFilter( parameter.getFilterList(), ChannelType.class), new PageRequest( pageStart, pageSize)); }
DAO层:
public interface ChannelTypeDao extends PagingAndSortingRepository<ChannelType, Long>, JpaSpecificationExecutor<ChannelType> { }
在这里ChannelTypeDao继承了PagingAndSortingRepository,很好的实现了分页功能。
方式二:
相关推荐
SpringBoot是一款基于Spring框架的开发框架,而Spring-data-JPA是在Hibernate的基础上实现JPA规范的ORM框架。使用SpringBoot和Spring-data-jpa进行分页查询可以大大简化编码流程并提高开发效率。 在使用Spring-data...
JPA分页查询与条件分页查询JPA分页查询与条件分页查询JPA分页查询与条件分页查询JPA分页查询与条件分页查询JPA分页查询与条件分页查询JPA分页查询与条件分页查询JPA分页查询与条件分页查询JPA分页查询与条件分页查询...
在学习jpa时候做的一个struts2+spring+jpa整合的完整例子 包含分页,一个简单的 资产入库系统 并实现了登陆等。
Spring Data JPA API。 Spring Data JPA 开发文档。 官网 Spring Data JPA API。
基于_Struts_2+Spring+JPA_框架的WEB_应用
springboot结合jpa实现分页,动态多条件查询,使用thymeleaf前端渲染数据
本篇文章主要介绍了spring data jpa分页查询示例代码,分页在很多项目中都能使用,具有一定的参考价值,有兴趣的可以了解一下。
SpringMVC+Spring+JPA+Maven的框架搭建的详细说明文档。具体包括项目整体结构,及如何使用Maven构建
是一个基于struts2+spring+jpa架构的分页实例(带jar包和数据库脚本)还原好数据库,用MyEclipse导入工程,部署到Tomcat就可运行。注:由于资源大小限制,我去掉了spring.jar 和 hibernate3.jar 自己加上,JDK用6.0...
Spring MVC+OpenJPA框架,只是个框架哦
Spring Data JPA中文文档1.4.3
本项目是 springmvc + Spring data jpa 开发环境(spring:4.3.4 hibernate-entitymanager:5.2.6) 本项目要求: jdk 1.8+ 业务类放在com.services包下 controller类的包名必须是web 页面放在pages文件夹下 ...
spring注解完整版+spring data jpa官方文档中文翻译+JPA2.0官方文档 文档内容齐全 值得参考学习
maven+springmvc+springjpa+hibernate简单例子,有需要的朋友可以参考看看,没费的哦。
赠送jar包:spring-data-jpa-2.0.9.RELEASE.jar; 赠送原API文档:spring-data-jpa-2.0.9.RELEASE-javadoc.jar; 赠送源代码:spring-data-jpa-2.0.9.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-data-jpa...
2018年Java Activiti6.x 视频整合Spring Boot/JPA/WEB框架实战 01 Activiti介绍与搭建开发环境 02 运行官方例子 03 编写第一个Activiti程序 04 流程引擎配置与服务组件 05 Activiti数据库介绍 06 API(1)...
spring boot+jpa框架搭建,支持spring boot热部署,通过jpa来对数据层进行操作
springdatajpa 包括jar包 结合struts2 spring 和springdatajpa 注解
本系统修改自若依后台管理系统,数据访问方式换成了spring jpa,单表增删改查完全不用写sql,使用jpa提供的方法就可以,只有需要多表关联查询时直接执行sql。同时后台代码整体重写一遍,做了简化。
'SpringDataJPA从入门到精通'分为12章 内容包括整体认识JPA、JPA基础查询方法、定义查询方法、注解式查询方法、@Entity实例里面常用注解详解、JpaRepository扩展详解、JPA的MVC扩展REST支持、DataSource的配置、乐观...