首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JavaWeb分页显示内容之分页查询三种思路(数据库分页查询)

在开发过程,经常做一件事,也是最基本事,就是从数据库查询数据,然后在客户端显示出来。当数据少时,可以在一个页面内显示完成。然而,如果查询记录是几百条、上千条呢?...就是说,我们可以执行一个数据库查询操作,得到结果集rs。然后,通过指针移动来显示当前页面的记录。...这样,就可以以   rs.absolute(当前页面号*每页记录)定位到当前页第一条记录,然后通过while循环显示n条记录(n为每页显示记录)。...(); //获得当前行号,即记录          //记算页数          intPageCount = (int)Math.ceil(intRowCount/(intPageSize...跳到第n页才查询、显示第n页内容。要点就是根据客户端表格“页面”计算出数据库要查询的当前页面的第一条记录位置。优点:实时性:跳页才查询。数据量小:只加载当前页记录进行显示。

3.3K30
您找到你想要的搜索结果了吗?
是的
没有找到

小书MybatisPlus第4篇-表格分页与下拉分页查询

"+ page.getPages()); System.out.println("记录:"+ page.getTotal()); // 分页返回对象与传入对象是同一个 List list = page.getRecords(); list.forEach(System.out::println); } 查询输出结果如下: 页数:1 记录:6 User(id=3,...,一共执行了两条SQL # 第一条SQL用于查询在query条件下条数 SELECT COUNT(1) FROM user WHERE age >= ?...这种分页方式比较适合于传统应用,表格分页开发。需要给出条数,以及每页多少条。 ? 三、不查询记录分页-下拉分页 在一些现代互联网资讯网站,或者应用app。...所以我们应该只做分页数据查询,不查询条数。设置page分页第三个参数为false。 ? 输出结果页数条数都是0,但是分页数据正常查询回来了。

1.1K20

MySQL(九)之数据表查询详解(SELECT语法)一

这就是分组意思, 在上面对s_id进行查询时候,发现很多重复值,我们也就可以对它进行分组,将相同值分为一组。  ...2.13、使用LIMIT限制查询结果数量 LIMIT[位置偏移量] 行数  通过LIMIT可以选择数据库表任意行数,也就是不用从第一条记录开始遍历,可以直接拿到 第5条到第10条记录,也可以直接拿到第...三、组函数(集合函数)查询   MySQL组函数有COUNT()函数、SUM()函数、AVG()函数、MAX()函数、MIN()函数   3.1、COUNT()     COUNT(*):计算表行数...例如:查看一下book表记录 ? 没有空值,所以计算出来行数记录行数是一样。   ...,就是将计算得来总之除以记录,得出一个平均值。

2.9K110

公交换乘(牛客数据)2019CSP-J普及组复赛(官方数据)

ti​ (距 0 时刻分钟)。 我们保证出行记录是按照开始乘车时间顺序给出,且不会有两次乘车记录出现 在同一分钟。...第二条记录,在第 46 分钟乘坐公交车,可以使用第一条记录乘坐地铁获得优 惠票,因此没有花费。 第三条记录,在第 50 分种花费 12 元乘坐地铁。...第六条记录,在第 135 分钟乘坐公交车,由于此时手中只有第五条记录乘坐地铁 获得优惠票有效,而本次公交车票价为 6 元,高于第五条记录地铁票价 5 元, 所以不能使用优惠票,花费 6 元乘坐公交车...第四条记录,在第 31 分钟乘坐公交车,此时只有第二条记录乘坐地铁票价高 于本次公交车票价,所以使用第二条记录乘坐地铁获得优惠票。...第五条记录,在第 38 分钟乘坐公交车,此时第一条第三条记录乘坐地铁获得 优惠票都可以使用,使用获得最早优惠票,即第一条记录乘坐地铁获得优惠票。

59220

用了这么久PageHelper,你知道原生分页查询原理步骤吗

2.1.2、分页需要展示数据 start:首页。 prevPage:上一页。 nextPage:下一页。 totalPage:末页页码。 totalCounts:记录。...2.2、分页原理 结果总数(totalCount/rows)结果集(data/list)是来源于两条 SQL: 第一条SQL:查询总数,返回一个数字(记录)。...如果我们不进行封装的话,那么这个七个参数要全部在Session域中去取,比较复杂恶心。 我们一般会把多个需要共享数据,封装到一个对象,往后就只需要把数据封装到该对象,再共享该对象即可。...currentPage + 1 : totalPage; } } 3.4、修改Mapper(Dao) // 查询记录,传入一个封装好查询对象,里面的参数有当前页、每页记录(可不传,尽量传,...为模糊查询做基础) int queryCount(QueryObject qo); // 查询结果集,传入一个封装好查询对象,里面封装好参数有当前页、每页记录、起始页页码 List<Province

1.7K10

原生分页查询原理步骤解析

2.1.2、分页需要展示数据 start:首页。 prevPage:上一页。 nextPage:下一页。 totalPage:末页页码。 totalCounts:记录。...2.2、分页原理     结果总数(totalCount/rows)结果集(data/list)是来源于两条 SQL: 第一条SQL:查询总数,返回一个数字(记录)。...如果我们不进行封装的话,那么这个七个参数要全部在Session域中去取,比较复杂恶心。     我们一般会把多个需要共享数据,封装到一个对象,往后就只需要把数据封装到该对象,再共享该对象即可。...currentPage + 1 : totalPage; } } 3.4、修改Mapper(Dao) // 查询记录,传入一个封装好查询对象,里面的参数有当前页、每页记录(可不传,尽量传,...int totalCount = mapper.queryCount(qo); // 如果记录为0,那么说明没数据就不用下一步查询了,提高效率。

1.3K10

CSP-J第二轮试题-2019年-1、2题

我们保证出行记录是按照开始乘车时间顺序给出,且不会有两次乘车记录出现在同一分钟。 输出格式 输出文件有一行,包含一个正整数,代表小轩出行花费。...第二条记录,在第 46 分钟乘坐公交车,可以使用第一条记录乘坐地铁获得优惠票,因此没有花费。 第三条记录,在第 50 分钟花费 12 元乘坐地铁。...第四条记录,在第 31 分钟乘坐公交车,此时只有第二条记录乘坐地铁票价高于本次公交车票价,所以使用第二条记录乘坐地铁获得优惠票。...第五条记录,在第 38 分钟乘坐公交车,此时第一条第三条记录乘坐地铁获得优惠票都可以使用,使用获得最早优惠票,即第一条记录乘坐地铁获得优惠票。...第六条记录,在第 68 分钟乘坐公交车,使用第三条记录乘坐地铁获得优惠票。 总共花费 32 元。

35220

jsp实现分页显示记录

要把页面显示方式设计成这样方式,通常需要用到这几个基本变量:pageSize(每个页面所显示记录)、pageCount(一共有多少个页面)、showPage(目前显示第几页)、recordCount...(记录),为了方便理解,画了一张图: ?       ...思路是,如果要显示那个页面,就要先算出来每个页面第一条记录是所有记录第几条记录,假设每页第一条记录记录第position条记录,那么position=(ShowPage - 1)×PageSize...比如上图这个例子,如果要显示第一页,就要计算出第一页第一条记录记录第一条记录;如果要显示第二页,就要计算出第二页第一条记录记录第四条记录;如果要显示第三页,就要计算出第一页第一条记录记录第九条记录...值是: int position=(showPage-1)*pageSize+1; //设置游标的位置 rs.absolute(position); //用for循环显示本页应显示记录

4.7K31

一个执行计划异常变更案例 - 外传之直方图

感谢你们在这一年当中对我文章关注指点,来年我们共同继续努力!...NUMBER减上条记录distinct值对应ENDPOINT NUMBER就会是这条distinct值记录),上面示例name列是FREQUENCY类型直方图,对于这种类型直方图,Bucket...这种类型直方图首先会根据列所有记录按从小到大顺序排序,用记录处于需要使用Bucket数量,决定每一个Bucket要存储记录,对于相邻Bucket仅ENDPOINT NUMBER不同,...ENDPOINT VALUE值相同记录做合并存储,ENDPOINT VALUE存储是到此记录所描述Bucket为止之前所有Bucket描述记录最大值,通过实验我们体会下,创建测试数据,...0号Bucket存储是列最小值,即1,1-10号Bucket存储是到此记录所描述Bucket位置之前所有Bucket描述记录最大值,每个Bucket存储100条记录,因此这可以推测出1号

66740

1w字MySQL索引面试题(附md文档)

更复杂情况如下: 我们生成了一个存储更高级目录项 页33 ,这个页两条记录分别代表页30页32,如果用户记录主键值在 [1, 320) 之间,则到页30查找更详细目录项记录,如果主键值...优点: 数据访问更快 ,因为索引和数据保存在同一个B+树,因此从聚簇索引获取数据比非聚簇索引更快。 聚簇索引对于主键排序查找范围查找速度非常快。...在页3435定位到具体记录。 但是这个B+树叶子节点只存储了c2c1(主键)两个列,所以我们必须再根据主键值去聚簇索引再查找一遍完整用户记录。...如果我们利用二叉树作为索引结构,那么磁盘IO次数索引树高度是相关。平衡二叉树由于树深度过大而造成磁盘IO读写过于频繁,进而导致效率低下。 为了提高查询效率,就需要 减少磁盘IO 。...通俗讲就是,如果索引列在 select 所需获得(因为在 mysql 索引是根据索引列值进行排序,所以索引节点中存在该列部分值)或者根据一次索引查询就能获得记录就不需要回表,如果 select

27420

MySQL 慢日志线上问题分析及功能优化

启用后,系统会在第一条不走索引查询执行后开启一个 60s 窗口,在该窗口内,仅记录最多 log_throttle_queries_not_using_indexes 条 SQL 语句。...为了能够量化统计,我们收集了 SQL 查询所需读取页面这些页面实际进行 IO 次数,分别记录为 logical_readsphysical_reads,前者包括命中 InnoDB Buffer...“1” 表示启用基于执行时间来记录慢日志,“2” 表示基于搜索页面数来记录慢日志,“3” 是 “1” “2” 合集。...所以在 InnoSQL ,SQL 查询只需满足执行时间够长或所需页面够多即可记录到慢日志。...代码实现片段如下: 页面阈值通过 long_query_io 参数来衡量,用户可动态设置,如果页面 m_logical_reads 超过了该值,即使执行时间未超标,也会被记录

2.1K60

MySQLB+树索引应用场景大全

有人说是先找到key_part1 = 'a'第一条记录,然后回表获得完整用户记录之后,接着判断key_part3='c'是否成立。...server层第一次开始执行查询,把条件key_part1 = 'a'交给存储引擎,让存储引擎定位符合条件第一条记录 存储引擎在非聚集索引idx_key_part定位key_part1 = 'a'第一条记录...查询优化器会事先针对表记录计算一些统计数据,然后利用这些统计数据,或者访问表少量记录来计算需要执行回表记录,如果需要回表记录越多,查询优化器就越倾向于全表扫描,反之则使用非聚集索引+回表方式...而记录又是存储在数据页,数据页记录是按照记录主键值从小到大顺序进行排序,所以如果我们插入记录主键值是依次增大的话,那我们每插满一个数据页就换到下一个数据页继续插入,如果新插入主键值忽大忽小...我们需要把当前页面分裂成两个页面,把本页一些记录移动到新创建。页面分裂记录移位有一定性能损耗。

37310

为什么全球只有13组根域名服务器?

DNS 数据包大小限制 我们知道 DNS 协议是应用层协议,大多数情况下依赖传输层 UDP 协议进行数据传输(仅在重试情况下可能使用 TCP 协议)。...(2字节); Answer Section 部分占用字节数为所有记录字节数之和,每条记录包括根标签(1字节),TTL (4字节),Class (2字节,基本取值都是IN),查询类型(2字节),域名存储占用字节数...;因为域名在 DNS 解析协议当中按照长度(2字节)+数据形式存储,其中数据部分是分段存储,存储格式如下所示,所以第一条记录域名存储占用22个字节,继而第一条记录总共占用31个字节;而从第二条记录开始...,因为记录中出现域名存在部分内容与第一条记录重复,即“root-servers.net”部分,这部分可以利用 DNS 指针压缩存储,只需要存储2个字节指针,指向第一条记录出现部分,而不需要存储实际内容...讨论我们了解了 DNS 解析协议,下面我们将自己动手搭建 DNS 服务器。

5.9K70

InnoDB(7)数据持久化 --mysql从入门到精通(十二)

InnoDB(6)索引页select --mysql从入门到精通(十一) Page Header(页面头部) pageHeader就是记录了数据页存放信息,比如本页已经存储多少数据,第一条记录地址是什么...page_n_heap:占用2个字节,本页记录数量(包括最小记录,最大记录删除记录)。...page_n_direction:占用两个字节,一个方向连续插入记录数量。 page_n_recs:占用两个字节,该页记录数量(不包括最大记录最小记录删除数据)。...page_max_trx_id:占用8个字节,修改当前页最大事务id,改值仅在二级索引 定义。 page_level:占用2个字节,当前页在b+树中所处层级。...page directory:页目录,查询一条数据,不可能从页第一条数据循环到最后一条,他每个页分为多个槽点,槽0放最小记录,一条数据,最大记录放1~8条数据,其他放4~8条数据,添加数据过程,每次放入最大记录槽点

35720
领券