06 分页

文章目录

    • PageInfo

PageInfo

package com.aistart.tech.common;import java.io.Serializable;
import java.util.List;public class PageInfo<T> implements Serializable {private Integer pageNum;//当前页private Integer pageSize;//每页显示条数private Integer pageTotal;//总的页数private Integer rows;//总的条数private List<T> dataList;public Integer getPageNum() {return pageNum;}public void setPageNum(Integer pageNum) {this.pageNum = pageNum;}public Integer getPageSize() {return pageSize;}public void setPageSize(Integer pageSize) {this.pageSize = pageSize;}public Integer getPageTotal() {return pageTotal;}public void setPageTotal(Integer pageTotal) {this.pageTotal = pageTotal;}public Integer getRows() {return rows;}public void setRows(Integer rows) {this.rows = rows;}public List<T> getDataList() {return dataList;}public void setDataList(List<T> dataList) {this.dataList = dataList;}public PageInfo(Integer pageNum, Integer pageSize, Integer pageTotal, Integer rows, List<T> dataList) {this.pageNum = pageNum;this.pageSize = pageSize;this.pageTotal = pageTotal;this.rows = rows;this.dataList = dataList;}public PageInfo() {}@Overridepublic String toString() {final StringBuilder sb = new StringBuilder("PageInfo{");sb.append("pageNum=").append(pageNum);sb.append(", pageSize=").append(pageSize);sb.append(", pageTotal=").append(pageTotal);sb.append(", rows=").append(rows);sb.append(", dataList=").append(dataList);sb.append('}');return sb.toString();}
}

创建一个List<String>集合
创建一个连接
根据连接创建一个操作对象,执行sql,sql语句有两个占位符,分别代表之前页所有数量,每页数量
操作对象返回结果集
将数据存到list中
关闭

public List<String> getEmpName(int pageSize, int pageNum) throws Exception {List<String> list = new ArrayList<>();Connection connection = JDBCUtil.getConnection();PreparedStatement preparedStatement = connection.prepareStatement("select first_name from employees limit ?,?;");preparedStatement.setInt(1,pageSize*(pageNum-1));preparedStatement.setInt(2,pageSize);ResultSet resultSet = preparedStatement.executeQuery();while (resultSet.next()){list.add(resultSet.getString(1));}JDBCUtil.closeAll(connection,preparedStatement,resultSet);return list;}@Testpublic void empLimitTest() throws Exception {List<String> empName = iEmpDao.getEmpName(3, 2);PageInfo<String> stringPageInfo = new PageInfo<>();stringPageInfo.setDataList(empName);stringPageInfo.setPageNum(2);stringPageInfo.setPageSize(3);stringPageInfo.setRows(107);stringPageInfo.setPageTotal(107/3);for (String s : empName) {System.out.print(s+" ");}System.out.println(stringPageInfo);}

创建PageInfo对象
PageInfo设置每页数量和第几页
创建连接
根据连接创建操作对象,执行sql
返回结果集

public PageInfo<String> findNameAllByPage(int pageSize, int pageNum) {PageInfo<String> stringPageInfo = new PageInfo<>();stringPageInfo.setPageSize(pageSize);stringPageInfo.setPageNum(pageNum);List<String> list = new ArrayList<>();Connection connection = null;PreparedStatement preparedStatement = null;try {connection = JDBCUtil.getConnection();preparedStatement = connection.prepareStatement("select count(*) from employees;");ResultSet resultSet = preparedStatement.executeQuery();if(resultSet.next()){//获取总条目数int rows = resultSet.getInt(1);//赋值共有多少行stringPageInfo.setRows(rows);//赋值共有多少页,取整stringPageInfo.setPageTotal(rows/pageSize);}/** 跟上面一样获取一个list<string>* */stringPageInfo.setDataList(getEmpName(pageSize,pageNum));} catch (SQLException e) {throw new RuntimeException(e);} catch (Exception e) {throw new RuntimeException(e);}return stringPageInfo;}@Testpublic void limitTest(){PageInfo<String> nameAllByPage = iEmpDao.findNameAllByPage(4, 5);System.out.println(nameAllByPage);}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/761635.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

将OpenCV与gdb驱动的IDE结合使用

返回&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;OpenCV4.9.0开源计算机视觉库在 Linux 中安装 下一篇&#xff1a;将OpenCV与gcc和CMake结合使用 ​ 能力 这个漂亮的打印机可以显示元素类型、、标志is_continuous和is_subm…

ClickHouse的表操作

1、背景 由于大数据平台需要对数据进行分析,因为ClickHouse是一个开源的列式数据库管理系统(DBMS)&#xff0c;专为联机分析处理(OLAP)而设计。 官方地址&#xff1a;ClickHouse 开发 | ClickHouse Docs 2、集群中的操作 在操作集群中的表的时候&#xff0c;最好是采用[dbn…

【设计模式】Java 设计模式之状态模式(State)

深入理解状态模式&#xff08;State&#xff09; 一、概述 状态模式是一种行为设计模式&#xff0c;它允许一个对象在其内部状态改变时改变它的行为。对象看起来好像修改了它的类。状态模式把所有的与一个特定的状态相关的行为放到一个类中&#xff0c;并且将请求委托给当前状…

5.79 BCC工具之tcpaccept.py解读

一,工具简介 tcpaccept工具用于追踪接受TCP套接字连接的内核函数(例如,通过accept()函数实现的被动连接;不是connect()函数)。 accept() 是一个在 UNIX-like 系统上用于套接字编程的系统调用,它在 TCP 服务器中起着关键作用。当 TCP 服务器通过 listen() 系统调用使其套…

蓝桥杯 全球变暖

Problem: 蓝桥杯 全球变暖 文章目录 思路解题方法复杂度Code 思路 这道题目可以使用深度优先搜索&#xff08;DFS&#xff09;或广度优先搜索&#xff08;BFS&#xff09;来解决。我们需要遍历整个地图&#xff0c;当遇到陆地&#xff08;‘#’&#xff09;时&#xff0c;就进行…

分块算法模板更新

基础模板&#xff08;区间修改&#xff0c;求区间和&#xff09; #include "bits/stdc.h" using namespace std; #define int long long const int N 100010;int sum[N],add[N],a[N],b[N]; int l[N],r[N];void change(int l1,int r1,int k) {int pb[l1],qb[r1];if(…

【Java常用API】简单爬虫练习题

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏 …

0基础学习VR全景平台篇第146篇:为什么需要3D元宇宙编辑器?

一.什么是3D元宇宙编辑器&#xff1f; 3D元宇宙编辑器是全新3DVR交互渲染创作工具&#xff0c;集3D建模、虚拟展厅、AI数字人等能力&#xff0c;渲染和虚拟现实技术于一身的生产力工具。 具有跨平台和随时随地编辑等特点&#xff0c;可广泛应用于展会、展厅、博物馆、可视化园…

uniapp_微信小程序客服

一、调用api 二、代码 <button open-type"contact">客服</button> 三、小程序后台添加客服人员就行

Ubuntu学习笔记之Shell与APT下载工具

基本都是摘抄正点原子的文章&#xff1a;<领航者 ZYNQ 之嵌入式Linux 开发指南 V3.2.pdf&#xff0c;因初次学习&#xff0c;仅作学习摘录之用&#xff0c;有不懂之处后续会继续更新~ 一、Ubuntu Shell操作 简单的说Shell 就是敲命令。国内把 Linux 下通过命令行输入命令叫…

RabbitMQ docker 单机部署

RabbitMQ docker 单机部署 1.单机部署 我们在Centos7虚拟机中使用Docker来安装。 1.1.下载镜像 方式一&#xff1a;在线拉取 docker pull rabbitmq:3.8-management1.2.安装MQ 执行下面的命令来运行MQ容器&#xff1a; docker run \-e RABBITMQ_DEFAULT_USERroot \-e RAB…

CSS隐藏video标签中各种控件

1.edio标签加上controls会出现视频控件&#xff0c;如播放按钮、进度条、全屏、观看的当前时间、剩余时间、音量按钮、音量的控制条等等 <video type"video/mp4" src"" autoplay"" style"width: 400px; height: 300px;" id"e…

idea 2023 spring initializr 没有JDK1.8选项的解决方法

在升级最新版本的IDEA后,新建项目里面的 spring initializr的选项里面已经没有了JDK1.8的选项了,原因是spring官方的initializr https://start.spring.io/ 现在主推3.x版本这个最低要求是JDK17, 解决方法: 将IDEA默认的 Initializr的URL https://start.spring.io/换成第三方…

3/21 work

自由发挥登录窗口的应用场景&#xff0c;实现一个登录窗口界面。&#xff08;不要使用课堂上的图片和代码&#xff0c;自己发挥&#xff0c;有利于后面项目的完成&#xff09; 要求&#xff1a; 1. 需要使用Ui界面文件进行界面设计 2. ui界面上的组件相关设置&#xff0c;通…

记一次 .NET某游戏后端API服务 CPU爆高分析

一&#xff1a;背景 1. 讲故事 前几天有位朋友找到我&#xff0c;说他们的API服务程序跑着跑着CPU满了降不下去&#xff0c;让我帮忙看下怎么回事&#xff0c;现在貌似民间只有我一个人专注dump分析&#xff0c;还是申明一下我dump分析是免费的&#xff0c;如果想学习.NET高级…

CDH中重装Kafka

##事情缘由 之前测试集群kafka安装在01、02、04节点&#xff0c;但是01节点经常宕机&#xff0c;于是直接在CM页面上把01节点上的kafka broker手动删除了。。。 然后重新再03节点安装了新的kafka broker 于是kafka集群不能使用了&#xff01;&#xff01;&#xff01; ##初始化…

Springboot中Tomcat配置及切换Undertow

一、Tomcat配置 1. 通过application.yml配置 以下展示常用配置 server:port: 8182 # 配置端口tomcat:threads:max: 10 # 最大工作线程&#xff0c;默认是200min-spare: 5 # 最小工作线程&#xff0c;默认是10accept-count: 200 # tomcat启动线程达到最大值后&#xff0c;接受…

JSP基础进阶(案例代码)

JDBC技术 通过JDBC连接MySQL数据库 <% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UTF-8" import "java.sql.*"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN&quo…

大数据开发(Spark面试真题)

大数据开发&#xff08;Spark面试真题&#xff09; 一、Spark基础和核心概念1、什么是Spark Streaming&#xff1f;简要描述其工作原理。2、什么是Spark内存管理机制&#xff1f;请解释其中的主要概念&#xff0c;并说明其作用。3、请解释一下Spark中的shuffle是什么&#xff0…

AnythingLLM

AnythingLLM是一款私人ChatGPT&#xff0c;它与传统的ChatGPT相比&#xff0c;具有更高的灵活性和可定制性。AnythingLLM是一个全栈应用程序&#xff0c;它能够将任何文档、资源或内容片段转化为上下文&#xff0c;供任何LLM&#xff08;大语言模型&#xff09;在聊天时作为参考…