ssh 分页查询

SSH整合实现分页查询(两种方式) 介绍: 使用SSH整合开发,进行分页查询,我采用了hibernate的两种不同对象来操作,第一种:DetachedCriteria离线对象;第一种:是hibernateTemplate模板的HibernateCallback<>()函数回调,实际上它是一个接口,使用它时,需要实现它里面的方法。 分页思路: 刚开始我也觉得分页查询很难,但其实理清了思路之后,其实一点都不难。 其实分页的目... 阅读详情

先写公用类PageBean泛型类


public class PageBean<T> {

//当前页
private Integer currentPage;
//总记录
private Integer totalCount;
//每页条数
private Integer pageSize;
//总页数
private Integer totalPage;
//开始位置
private Integer begin;
//list集合
private List<T> list;

public void setCurrentPage(Integer currentPage) { this.currentPage = currentPage; } public Integer getTotalCount() { return totalCount; } public void setTotalCount(Integer totalCount) { this.totalCount = totalCount; } public Integer getPageSize() { return pageSize; } public void setPageSize(Integer pageSize) { this.pageSize = pageSize; } public Integer getTotalPage() { return totalPage; } public void setTotalPage(Integer totalPage) { this.totalPage = totalPage; } public Integer getBegin() { return begin; } public void setBegin(Integer begin) { this.begin = begin; } public List<T> getList() { return list; } public void setList(List<T> list) { this.list = list; } }

action方法中查询所有数据

private Integer currentPage;  get/set方法

 //分页方法
public String listpage(){

  if(currentPage==null){
currentPage = 1;
}

  PageBean<User> pageBean = userService.listpage(currentPage);
//放到与对象里面
request.setAttribute("pageBean",pageBean);
//放到与对象里面
request.setAttribute("pageBean",pageBean);
return "listpage";
}



service中方法

//分页

public PageBean<User> listpage(Integer currentPage) {
PageBean<User> pageBean = new PageBean<User>();

//当前页
pageBean.setCurrentPage(currentPage);

//总记录数  调用一个方法findCount()
int totalCount = userDao.findCount();
pageBean.setTotalCount(totalCount);

//meiye 条数
int pageSize= 3;

//总页数
int totalPage = 0;
if(totalCount%pageSize==0){
totalPage = totalCount/pageSize;
}else{
totalPage = totalCount/pageSize+1;
} 
pageBean.setTotalPage(totalPage);
//开始位置
int begin = (currentPage-1)*pageSize;
//list集合
List<User> list = userDao.findAll(begin,pageSize);
pageBean.setList(list);
return pageBean;
}


dao层中

//总条数
@SuppressWarnings("all")
public int findCount() {
List<Object> list =(List<Object>) getSession().createQuery("select count(*) from User").list();
if(list!=null && list.size()>0){
Object obj = list.get(0);
Long log= (Long)obj;
int count = log.intValue();
return count;
}
return 0;
}


//反回list集合分页查询
@SuppressWarnings("all")
public List<User> findAll(int begin, int pageSize) {
/*//第一种方式
//得到工厂
SessionFactory sessionFactory = this.getHibernateTemplate().getSessionFactory();
Session session = sessionFactory.getCurrentSession();
Query query = session.createQuery("from User");
query.setFirstResult(begin);
query.setMaxResults(pageSize);
List<User> list = query.list();*/

//第二种、使用离线对象和hibernateTemplate实现
//创建离线对象 设置对哪个实体类操作
DetachedCriteria criteria = DetachedCriteria.forClass(User.class);
//调用模板方法

List<User> list = (List<User>)this.getHibernateTemplate().findByCriteria(criteria,begin,pageSize);

return list;
}

jsp页面

 <div class="header-info">
                            共<span class="info-number">[${pageBean .totalCount}]</span>条结果,
                            分成<span class="info-number">[${pageBean.totalPage}]</span>页显示,
                            当前第<span class="info-number">[${pageBean.currentPage}]</span>页.
           <c:if test="${pageBean.currentPage ne 1}">
           [<a href="${pageContext.request.contextPath }/user_listpage?currentPage=${pageBean.currentPage-1}">前一  页</a>]   
        </c:if>
        <c:if test="${pageBean.currentPage ne pageBean.totalPage}">
           [<a href="${pageContext.request.contextPath }/user_listpage?currentPage=${pageBean.currentPage+1}">后一页</a>]   
    </c:if>     

 </div>





LayUI分页查询展示数据(SSH框架) 网页展示的效果图如下:    1、Service方法 public interface IStudentService { //查询学生列表 public List stulist(int page,int limit); //总行数 public long procount(); }   2、Impl方法: import ... 阅读详情

相关推荐

掌握SSH框架数据库操作:增删改查与分页实践

本文还有配套的精品资源,点击获取 简介:SSH框架是Java Web开发中常用的一种技术组合,用于实现复杂的数据库操作,包括增加、删除、修改、查询以及分页显示。本课程将详细介绍如何使用Struts2、Spring和Hibernate实现全选删除和分页功能,包括用户请求处理、事务管理、对象关系映射、数据验证和安全性控制等关键环节。学生将学习到如何利用SSH框架进行高效且安全的...

weixin_35257663的博客 887

jsp内的${}循环一次及循环几次相加出总和

主要讲述在jsp中,从数据表读数据过来后如何将数据用${}进行一次循环或几次循环累加

weixin_45528773的博客 409

强大ssh分页实现

好强大的ssh分页,封装的很好,适合初学者研究下,可以更快帮助初学者掌握分页机制,学起来不是很容易,但是当你学会了就豁然开朗,其他的分页直接可以藐视了,哈。。。我就是这样学过来的 有相关教程:http://www.cnblogs.com/fzx888888/archive/2011/05/15/hibernate_Paging.html

ES6的一些基础语法

一些常见的语法:console.log(`total:${total}`);这个就是es6的模版前面的是变量可以修改的,后面的是变量的值... 1.这个放在函数里面当参数的时候就是动态参数 不指定个,2.放在数组外面就是一个运算符 会把数组里面的东西拆解,这个方法可以用来将数组拆解然后合并数组,放在数组内部的时候那么那个参数就会变成一个动态参数3.让在字符串旁边的时候就会把字符串拆解模版语法...

弹指一挥间 460

SSH简单分页实例.

SSH简单分页实例.zip 博客http://blog.youkuaiyun.com/peng_hong_fu/article/details/53394010

ssh实现简单分页功能

操作简单,ssh实现简单分页功能,结构清晰,简单

SSH分页(Hibernate实现简单分页查询)

直接正题 一、INewsDao.java(DAO接口):  1 package cn.dy.dao;  2   3 import java.util.List;  4 import cn.dy.bean.News;  5   6 public interface INewsDao {  7   8     //其他代码省略  9      10      11 

passport_daizi的博客 4万+

SSH分页查询方法

Struts2+Hibernate+Spring三大框架分页查询方法

SSH 分页查询

直接进入主题: 建一个工具类: Page public class Page { //总页数 private int page_zong; //有几条 private int tiao_size; //当前页数 private int dangqian; //总条数 private int tiao_zong; public Page() { // TODO Aut

平凡的人类的博客 1587

ssh分页经典代码

分页程序是web不可缺少的功能,下面讲一下如何在ssh下创建分页程序。 该分页在优点为:pager的功能配置都在基类,子类使用分页功能极容易,方便进行开发。 缺点:功能复杂

无人机散热系统设计:从材料选择到智能调控的全面解析

本文全面解析无人机散热系统设计,从材料选择到智能调控,探讨了导热界面材料、轻量化散热结构和智能调控算法的应用。通过实战案例,展示了如何在极端环境下优化散热性能,提升无人机的工作效率和可靠性。

weixin_42567279的博客 430

基于SSH的分页查询实现

介绍:     分页查询很常用的一个功能,在SSH网上商城中用到了几次,在DRP中也出现了,就拉出来总结总结,其实套路都是一样的,要知道第几页、共多少页、每页多少条数据、一共多少数据,最后查询的时候需要两个参数begin和pagesize(从那条数据开始,查询几条),下面详细看一下! 分页很常用,所以一般会封装一个分页类,这里这个类为PageBean.java,里面是定义我们要用到的几

吴晓如 8472

vivado运行时报错 license文件更新操作

vivado使用:SYNTHESIS->Run Synthesis 时报错 [Common 17-345] A valid license was not found for feature ‘Synthesis’ and/or device ‘xc7vx485t’. Please run the Vivado License Manager for assistance in determiningwhich features and devices are licensed for your sy

qq_44692266的博客 2万+

SSH框架整合(实现分页查询)

SSH框架整合、分页查询案例 之前已经写过了SSM框架的分页查询案例,刚翻笔记时看到了以前写过的SSH分页查询的功能的笔记,这里就也再整理一下喽,送给那些在学习SSH框架的同学,SSH框架因为用的Hibernate,所以与SSM有所不同,希望这个小案例能对大家有所帮助。 <!--more--> 关于项目 框架: 后端:spring + struts2 + hibern...

大强博客 781

揭秘大型语言模型:从神经元到思维透明的奇妙旅程

这篇博客带你走进大型语言模型的内部世界,从神经元的小任务,到功能向量的团队合作,再到层间的协作和思维的透明化。掌握这些知识,能让你在开发中更高效地优化AI,在研究中更深入地探索模型的奥秘。建议多动手实践,把这些理论变成自己的能力!

数据与算法架构提升之路专栏 1521

多路输出电源的交叉调整率:从理论到无源优化实践

本文深入探讨了多路输出电源中的交叉调整率问题,分析了其物理根源及无源优化方法。通过漏感与耦合的理论分析,结合加权反馈、电感耦合等五种无源优化技术,帮助工程师有效解决交叉调整率挑战。文章还以TDK-Lambda CUT75系列为例,展示了优化技术的实际应用与效果。

weixin_26886855的博客 281

【SSH】分页查询

来总结一下SSH关于分页查询的代码。 一、PageBean.java: package cn.itcast.shop.utils; import java.util.List; /** * 分页类的封装 * @author 宋喆 */ public class PageBean<T> { private int page;//当前页数 private int tot...

心似烟火 523

大模型时代的具身智能系列专题(二)

自由形式语言指令 L 指定了一个操作问题,例如“打开最顶部的抽屉”。然而,根据 L 生成机器人轨迹是很困难的,因为 L 可能具有任意长度,或者是不明确的(例如,需要上下文语义)。相反,我们专注于问题的各个阶段(子任务)l_i,它们明确地指定了一个操作任务 (例如,“抓住抽屉把手”,“打开抽屉”),其中被分解的子阶段(子任务)L→l1l2lnL→l1​l2​...ln​由高级规划器(例如,一个LLM或一个基于搜索的规划器)给出。

achao的专栏 2174

ssh框架中的分页查询

ssh中的分页查询是比较常用的,接下来我用代码来介绍如何实现一个分页查询 首先建立一个Model用来储存查询分页的信息 package com.haiziwang.qrlogin.utils; import java.util.List; public class prospage<T> { private int page; // 当前页数 private int total...

weixin_30347335的博客 192

从SolidWorks到Simulink:手把手教你用URDF文件搭建六轴机械臂仿真模型(含STL文件配置避坑)

本文详细介绍了从SolidWorks到Simulink的六轴机械臂URDF仿真全流程,包括URDF文件导出、Simscape模型生成与调试、动力学参数获取与验证等关键步骤。重点解决了STL文件配置、关节接口设置等工程化难题,帮助开发者高效构建可控制的数字孪生体。通过实战案例和优化技巧,提升机械臂仿真效率与准确性。

weixin_26812607的博客 267

DDR4内存PCB设计实战:8层板Fly-by拓扑信号完整性优化

本文深入探讨了DDR4内存条在8层PCB板上采用Fly-by拓扑时的信号完整性优化实战。文章详细解析了层叠规划、阻抗控制、电源分割、等长布线及串扰抑制等关键设计要点,并强调了仿真验证的重要性,为硬件工程师提供了从理论到实践的完整设计指南与自查清单。

weixin_29296241的博客 340

Java 框架 Tips —SSH分页查询(PageBean)

文章目录一、SSH实现分页查询1.1 原理分析1.2 PageBean\1.3 CustomerAction1.4 CustomerServiceImpl1.5 CustomerDaoImpl(BaseDaoImpl)实现 一、SSH实现分页查询 1.1 原理分析 1.2 PageBean<T> 由于不知道查出来的是什么类型,最好加个泛型 每一个页面都存在以下的元素 total...

文泽路小男孩的博客 365

Qualcomm AI Engine Direct SDK(QNN)的使用介绍

Qualcomm AI Engine Direct SDK,高通新的AI模型推理框架,又名QNN,为AI开发提供统一API的底层框架。通过这个SDK,可以在高通的 CPU/GPU和HTP上对AI模型进行性能加速。2.Qualcomm AI Engine Direct SDK的公开英文文档。1.Qualcomm AI Engine Direct SDK的下载和安装。

u013250861的博客 6974

SSH-------分页查询

看到网上讲解的分页查询不少,针对SSH的却不多,故而把自己做的过程贴出来: 1.首先 咱得先有个pageBean 存放各种页面信息 如当前页码 每一页几个字段之类 贴代码如下: public class PageBean { private List list; //要返回的某一页记录列表 private int allRow; //总记录数 private int

ran_uzi的博客 592

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

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

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

SSH框架下的分页查询

一 配置PageBean的java类,即分页封装的类。(泛型) 配置一个分页查询的实体类,需要配置什么私有变量?显然,当前处于多少页是需要的,总页数是需要的;总记录数是需要的,每页显示多少个记录是需要的;记录内容(集合)也是需要的。 二 显示当前从数据库返回的集合记录的代码逻辑: 前几页返回的记录总数+1为初始记录,显示每页显示多少个记录的个数的集合记录。 因此,需要的两个量为:(当前页数-1)*...

wjl960827的博客 387

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: 在ssh框架中抽取BaseDao简单的CRUD
下一篇: Dom4j实现xml简单的增删改查功能
Java_funds
博客等级 码龄9年 6粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值