PageBean selectPageBean (int currentPage,int count);

时间: 2024-01-01 19:03:34 浏览: 35
这个方法的作用是从数据库中查询数据,并返回一个PageBean对象,其中包含了分页查询的结果以及分页相关的信息。 下面是这个方法的参数和返回值的详细解释: 参数: - currentPage:表示当前页码,是一个整数类型的参数。 - count:表示每页显示的记录数,是一个整数类型的参数。 返回值: - PageBean:表示分页查询结果的封装对象,其中包含了查询结果以及分页相关的信息,例如总记录数、总页数、当前页码等等。 在这个方法中,首先需要根据当前页码和每页显示的记录数来计算出需要查询的数据的起始位置和结束位置,然后使用这个位置信息来查询数据库中的数据。查询结果需要存储在一个列表中,并且需要计算出总记录数和总页数。最后,将查询结果和分页相关的信息封装到一个PageBean对象中,并返回这个对象。
相关问题

int page_count = counts % PageBean.PAGE_IETM == 0 ? counts / PageBean.PAGE_IETM : counts / PageBean.PAGE_IETM + 1;

这段代码的作用是计算分页的总页数。其中counts表示总记录数,PageBean.PAGE_IETM表示每页显示的记录数。具体实现是:如果总记录数能够整除每页显示的记录数,则总页数等于总记录数除以每页显示的记录数;否则总页数等于总记录数除以每页显示的记录数再加1。最后将计算结果赋值给page_count。

// 分页操作 public PageBean findProductByPage(int currentPage, int currentCount, String category) { PageBean bean = new PageBean(); // 封装每页显示数据条数 bean.setCurrentCount(currentCount); // 封装当前页码 bean.setCurrentPage(currentPage); // 封装当前查找类别 bean.setCategory(category); try { // 获取总条数 int totalCount = dao.findAllCount(category); bean.setTotalCount(totalCount); // 获取总页数 int totalPage = (int) Math.ceil(totalCount * 1.0 / currentCount); bean.setTotalPage(totalPage); // 获取当前页数据 List<Product> ps = dao.findByPage(currentPage, currentCount, category); bean.setPs(ps); } catch (SQLException e) { e.printStackTrace(); } return bean;

这段代码是一个方法 `findProductByPage()`,用于实现分页查询产品数据并封装到 `PageBean` 对象返回。 方法接受三个参数: - `currentPage`:一个整数,表示当前页码。 - `currentCount`:一个整数,表示每页显示的数据条数。 - `category`:一个字符串,表示当前查询的产品类别。 代码逻辑如下: 1. 创建一个 `PageBean` 对象 `bean`,用于封装分页查询结果。 2. 使用 `bean.setCurrentCount(currentCount)` 将每页显示的数据条数进行封装。 3. 使用 `bean.setCurrentPage(currentPage)` 将当前页码进行封装。 4. 使用 `bean.setCategory(category)` 将当前查询的类别进行封装。 5. 尝试执行以下操作: - 调用 `dao.findAllCount(category)` 方法获取总数据条数,并使用 `bean.setTotalCount(totalCount)` 将其封装到 `bean` 对象中。 - 根据总数据条数计算出总页数,并使用 `(int) Math.ceil(totalCount * 1.0 / currentCount)` 进行取整和向上取整操作,然后将总页数封装到 `bean` 对象中。 - 调用 `dao.findByPage(currentPage, currentCount, category)` 方法获取当前页的产品数据列表,并使用 `bean.setPs(ps)` 将其封装到 `bean` 对象中。 6. 如果在执行过程中发生了异常,打印异常信息。 7. 返回 `bean` 对象。 这个方法的作用是根据当前页码、每页显示数据条数和查询类别进行分页查询,并将查询结果封装到 `PageBean` 对象中返回。`PageBean` 对象中包含了当前页码、总页数、总数据条数以及当前页的产品数据列表。可以根据这些信息在页面上进行分页展示。

相关推荐

subject是什么:在Mapper.xml文件中定义查询语句: 复制 <select id="findTeachersByPage" resultMap="teacherMap"> select * from teacher <where> <if test="teacherName != null and teacherName != ''"> and teacher_name like concat('%', #{teacherName}, '%') </if> <if test="subject != null and subject != ''"> and subject = #{subject} </if> </where> order by id desc limit #{start}, #{pageSize} </select> 在Dao层中定义方法: 复制 public List<Teacher> findTeachersByPage(int start, int pageSize, String teacherName, String subject); 在Service层中调用Dao层方法,并进行分页处理: 复制 int totalCount = teacherDao.getTotalCount(teacherName, subject); // 获取总记录数 int totalPage = (totalCount % pageSize == 0) ? (totalCount / pageSize) : (totalCount / pageSize + 1); // 计算总页数 List<Teacher> teachers = teacherDao.findTeachersByPage(start, pageSize, teacherName, subject); // 获取当前页的数据 PageBean pageBean = new PageBean(currentPage, pageSize, totalCount, totalPage, teachers); // 封装分页数据 return pageBean; 在Controller层中获取请求参数,并调用Service层方法: 复制 @RequestMapping("/findTeachersByPage") public String findTeachersByPage(@RequestParam(defaultValue = "1") int currentPage, String teacherName, String subject, Model model) { int pageSize = 10; // 每页显示的记录数 int start = (currentPage - 1) * pageSize; // 当前页的起始记录索引 PageBean pageBean = teacherService.findTeachersByPage(start, pageSize, teacherName, subject); // 获取分页数据 model.addAttribute("pageBean", pageBean); model.addAttribute("teacherName", teacherName); model.addAttribute("subject", subject); return "teacherList"; } 其中,PageBean是一个自定义的

package dao.Impl; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import db.DBCon; import model.PageBean; import model.UsRole; import model.User; public class EmpBiz { DBCon dbCon=new DBCon(); UsRole usRole; PageBean pageBean; public EmpBiz() { super(); } //具体实现分页的方法,传递两个参数,一个第几页,一个每页的数量 public PageBean listEmps(int pageNo, int pageCount){ ResultSet rs=null; ArrayList<UsRole> list=new ArrayList<UsRole>(); String sqlCount="select count(*) from user"; String sql="select user_id,user_num,user_name,password,phone,role_name " + "from user,role " + "where user.role_id=role.role_id " + "limit "+((pageNo-1)*pageCount)+","+pageCount; rs=dbCon.find(sql); try { /* con=dbCon.dbCon(); st=con.createStatement(); rs=st.executeQuery(sql);*/ while(rs.next()){ int userID = rs.getInt("user_id"); String userNum = rs.getString("user_num"); String userName = rs.getString("user_name"); String pwd = rs.getString("password"); String phone = rs.getString("phone"); String roleName = rs.getString("role_name"); usRole = new UsRole(userID, userNum, userName, pwd, phone, roleName); list.add(usRole); } rs=dbCon.find(sqlCount); // rs=st.executeQuery(sqlCount); int totalCount=0; while(rs.next()){ totalCount=rs.getInt(1); } pageBean=new PageBean(list,totalCount,pageNo,pageCount); return pageBean; } catch (SQLException e) { e.printStackTrace(); // return null; } return pageBean; } }

最新推荐

recommend-type

吴天雄--JavaWeb完整笔记.doc

模块七:分页(复杂条件查询,pageBean的分页参数、附有前端和后台代码);模块八:过滤器和监听器(三大组件、八大监听器、session的绑定、解绑、钝化、活化);模块九:文件上传和下载(限制上传(文件的大小和...
recommend-type

计算机专业毕业设计范例845篇jsp2118基于Web停车场管理系统的设计与实现_Servlet_MySql演示录像.rar

博主给大家详细整理了计算机毕业设计最新项目,对项目有任何疑问(部署跟文档),都可以问博主哦~ 一、JavaWeb管理系统毕设项目【计算机毕设选题】计算机毕业设计选题,500个热门选题推荐,更多作品展示 计算机毕业设计|PHP毕业设计|JSP毕业程序设计|Android毕业设计|Python设计论文|微信小程序设计
recommend-type

Windows 10 平台 FFmpeg 开发环境搭建 博客资源

【FFmpeg】Windows 10 平台 FFmpeg 开发环境搭建 ④ ( FFmpeg 开发库内容说明 | 创建并配置 FFmpeg 项目 | 拷贝 DLL 动态库到 SysWOW64 目录 ) https://hanshuliang.blog.csdn.net/article/details/139172564 博客资源 一、FFmpeg 开发库 1、FFmpeg 开发库编译 2、FFmpeg 开发库内容说明 二、创建并配置 FFmpeg 项目 1、拷贝 dll 动态库到 C:\Windows\SysWOW64 目录 - 必须操作 特别关注 2、创建 Qt 项目 - C 语言程序 3、配置 FFmpeg 开发库 - C 语言项目 4、创建并配置 FFmpeg 开发库 - C++ 项目
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MySQL数据库性能提升秘籍:揭秘性能下降幕后真凶及解决策略

![MySQL数据库性能提升秘籍:揭秘性能下降幕后真凶及解决策略](http://xiaoyuge.work/explain-sql/index/2.png) # 1. MySQL数据库性能优化概述** MySQL数据库性能优化是一项至关重要的任务,可以显著提高应用程序的响应时间和整体用户体验。优化涉及识别和解决影响数据库性能的因素,包括硬件资源瓶颈、软件配置不当和数据库设计缺陷。通过采取适当的优化策略,可以显著提升数据库性能,满足业务需求并提高用户满意度。 # 2. MySQL数据库性能下降的幕后真凶 ### 2.1 硬件资源瓶颈 #### 2.1.1 CPU利用率过高 **症状:
recommend-type

如何在unity创建按钮

在 Unity 中创建按钮的步骤如下: 1. 在 Unity 中创建一个 UI Canvas,选择 GameObject -> UI -> Canvas。 2. 在 Canvas 中创建一个按钮,选择 GameObject -> UI -> Button。 3. 在场景视图中调整按钮的位置和大小。 4. 在 Inspector 中设置按钮的文本、颜色、字体等属性。 5. 添加按钮的响应事件,选择按钮,在 Inspector 的 On Click () 中添加相应的方法。 这样就可以创建一个按钮了,你可以在游戏中使用它来触发相应的操作。
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。
recommend-type

"互动学习:行动中的多样性与论文攻读经历"

多样性她- 事实上SCI NCES你的时间表ECOLEDO C Tora SC和NCESPOUR l’Ingén学习互动,互动学习以行动为中心的强化学习学会互动,互动学习,以行动为中心的强化学习计算机科学博士论文于2021年9月28日在Villeneuve d'Asq公开支持马修·瑟林评审团主席法布里斯·勒菲弗尔阿维尼翁大学教授论文指导奥利维尔·皮耶昆谷歌研究教授:智囊团论文联合主任菲利普·普雷教授,大学。里尔/CRISTAL/因里亚报告员奥利维耶·西格德索邦大学报告员卢多维奇·德诺耶教授,Facebook /索邦大学审查员越南圣迈IMT Atlantic高级讲师邀请弗洛里安·斯特鲁布博士,Deepmind对于那些及时看到自己错误的人...3谢谢你首先,我要感谢我的两位博士生导师Olivier和Philippe。奥利维尔,"站在巨人的肩膀上"这句话对你来说完全有意义了。从科学上讲,你知道在这篇论文的(许多)错误中,你是我可以依
recommend-type

表锁问题全解析,深度解读MySQL表锁问题及解决方案

![表锁问题全解析,深度解读MySQL表锁问题及解决方案](https://img-blog.csdnimg.cn/img_convert/a89711a10f6b856a777a9eed389c5112.png) # 1. 表锁基础** 表锁是一种数据库并发控制机制,用于防止多个事务同时访问和修改同一行或表中的数据,从而保证数据的完整性和一致性。表锁通过对表或表中的特定行施加锁来实现,以确保在事务完成之前,其他事务不能对这些数据进行修改。 表锁分为两种主要类型:共享锁(S锁)和排他锁(X锁)。共享锁允许多个事务同时读取同一行或表中的数据,但不能修改。排他锁则允许一个事务独占地访问和修改同