精华内容
下载资源
问答
  • mysql查询结果分页显示

    千次阅读 2012-08-16 22:21:51
    变量声明 java.sql.Connection sqlCon; //数据库连接对象 java.sql.Statement sqlStmt;... //结果集对象 java.lang.String strCon; //数据库连接字符串 java.lang.String strSQL; //SQL语句
    <%@ page contentType="text/html;charset=gb2312" %> 
    <%@ page language="java" import="java.sql.*" %> 
    
    <%//变量声明 
    	java.sql.Connection sqlCon; //数据库连接对象 
    	java.sql.Statement sqlStmt; //SQL语句对象 
    	java.sql.ResultSet sqlRst; //结果集对象 
    	java.lang.String strCon; //数据库连接字符串 
    	java.lang.String strSQL; //SQL语句 
    	int intPageSize; //一页显示的记录数 
    	int intRowCount; //记录总数 
    	int intPageCount; //总页数 
    	int intPage; //待显示页码 
    	java.lang.String strPage; 
    	int i; 
    	//设置一页显示的记录数 
    	intPageSize = 40; 
    	//取得待显示页码 
    	strPage = request.getParameter("page"); 
    	
    	if(strPage==null)
    	{//表明在QueryString中没有page这一个参数,此时显示第一页数据 
    		intPage = 1; 
    	} 
    	else{//将字符串转换成整型 
    		intPage = java.lang.Integer.parseInt(strPage); 
    		if(intPage<1) intPage = 1; 
    	} 
    	//装载JDBC驱动程序 
    	Class.forName("org.gjt.mm.mysql.Driver"); 
    	//设置数据库连接字符串 
    	strCon = "jdbc:mysql://localhost:3306/test"; 
    	//连接数据库 
    	sqlCon = java.sql.DriverManager.getConnection(strCon,"root","mysqlroot"); 
    	//创建一个可以滚动的只读的SQL语句对象 
    	sqlStmt = sqlCon.createStatement();//准备SQL语句 
    	strSQL = "select id,name from test"; 
    	//执行SQL语句并获取结果集 
    	sqlRst = sqlStmt.executeQuery(strSQL); 
    	//获取记录总数 
    	sqlRst.last();//光标在最后一行 
    	intRowCount = sqlRst.getRow();//获得当前行号 
    	//记算总页数 
    	intPageCount = (intRowCount+intPageSize-1) / intPageSize; 
    	//调整待显示的页码,超过总页数则显示最后一页
    	if(intPage>intPageCount) intPage = intPageCount; 
    %> 
    <html> 
    	<head> 
    		<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
    		<title>会员管理</title> 
    	</head> 
    	
    	<body> 
    	<form method="POST" action="fenye.jsp"> 
    		第<%=intPage%>页 共<%=intPageCount%>页 
    		
    		<% if(intPage<intPageCount)//总页数大于当前页说明还有下一页
    			{
    		%>
    		
    		<a href="fenye.jsp?page=<%=intPage+1%>">下一页 </a>
    		
    		<%
    			}
    		%> 
    		<% if(intPage>1)//当前在第一页之后需要有上一页
    			{
    		%>
    		
    		<a href="fenye.jsp?page=<%=intPage-1%>">上一页</a>
    		<%
    			}
    		%> 
    		
    		转到第:<input type="text" name="page" size="8"> 页 
    		<span>
    			<input class=buttonface type="submit" value="GO"></span> 
    	</form> 
    	
    	
    	<table border="1" cellspacing="0" cellpadding="0"> 
    		<tr> 
    		<th>ID</th> 
    		<th>用户名</th> 
    		</tr> 
    		<% 
    			if(intPageCount>0){ 
    			//将记录指针定位到待显示页的第一条记录上 
    			sqlRst.absolute((intPage-1) * intPageSize + 1); 
    			//显示数据 
    			i = 0; 
    			String user_id,user_name; 
    			while(i<intPageSize && !sqlRst.isAfterLast()){ 
    			user_id=sqlRst.getString(1); 
    			user_name=sqlRst.getString(2); 
    		%> 
    			<tr> 
    			<td><%=user_id%></td> 
    			<td><%=user_name%></td> 
    			
    			</tr> 
    		<% 
    				sqlRst.next(); 
    				i++; 
    				} 
    			} 
    		%> 
    	</table> 
    	
    	<% 
    		//关闭结果集 
    		sqlRst.close(); 
    		//关闭SQL语句对象 
    		sqlStmt.close(); 
    		//关闭数据库 
    		sqlCon.close(); 
    	%>
    	</body> 
    </html> 
    	

    展开全文
  • 使用MySQL实现分页查询

    千次阅读 多人点赞 2020-05-21 01:16:55
    本文关键字:MySQL分页查询、真分页、假分页、LIMIT。在项目开发当中,经常要实现分页功能,在面试时也会经常被问到:什么是分页。这是因为在一个页面上能够显示的数据是有限的,而存放在数据库中的数据往往很多,...

    写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。

    • 对于文章中出现的任何错误请大家批评指出,一定及时修改。
    • 有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。
    • 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

    使用MySQL实现分页查询

    本文关键字:MySQL、分页查询、真分页、假分页、LIMIT


    在项目开发当中,经常要实现分页功能,在面试时也会经常被问到:什么是分页。这是因为在一个页面上能够显示的数据是有限的,而存放在数据库中的数据往往很多,我们必须将这些数据安放到不同的页面中去。

    一、分页

    1. 什么是分页

    一般在客户端实现分页功能的时候,要显示当前页的数据、当前所在页数、临近页面的按钮以及总页数等等。这些数据随着翻页的进行能够动态的变化,为了实现这样的效果,一般会采取两种办法:真分页假分页。这样的划分方式是从与数据库的交互方式出发的,是每次翻页时都进行查询还是一次性查出所有的数据。

    2. 真分页

    真分页指的是每次在进行翻页时都只查询出当前页面的数据,特点就是与数据库的交互次数较多,但是每次查询的数据量较少,数据也不需要一直保存在内存中。适用于数据量比较大的场景,数据不适合全量查出的情况。

    3. 假分页

    假分页指的是对于要显示的数据一次性全部查出,一直存在在服务端或客户端,在前端进行分页或由服务端控制分页。将根据当前所在页来计算应该显示的数据所在下标,用循环取出目标数据。只有当会话断开或页面关闭,相应的资源才会被释放。

    4. 缓存层

    真分页和假分页都要和数据库进行交互,对于真分页来说不需要担心数据同步的问题,因为每次都是查询出最新的,但是数据库的负担会很重,尤其是用户量大的情况下。
    假分页可以在一定程度上减轻数据库的压力,但是数据不能及时得到同步,除非重新请求或页面刷新。
    一般在企业中会有缓存层的存在,既能有效降低数据库的压力,又能及时的进行数据同步。在对数据库中的数据进行修改后,要将变更后的数据及时同步到缓存层,在进行数据查询时从缓存层获取。

    二、MySQL实现分页

    本文将介绍如何通过真分页的方式,每次取出所需数据。对于不同的数据,实现分页有不同的方式,在MySQL中可以使用LIMIT来限制查询出的数据。

    1. LIMIT用法

    LIMIT出现在查询语句的最后,可以使用一个参数或两个参数来限制取出的数据。其中第一个参数代表偏移量:offset(可选参数),第二个参数代表取出的数据条数:rows。

    • 单参数用法

    当指定一个参数时,默认省略了偏移量,即偏移量为0,从第一行数据开始取,一共取rows条。

    /* 查询前5条数据 */
    SELECT * FROM Student LIMIT 5;
    
    • 双参数用法

    当指定两个参数时,需要注意偏移量的取值是从0开始的,此时可以有两种写法:

    /* 查询第1-10条数据 */
    SELECT * FROM Student LIMIT 0,10;
    /* 查询第11-20条数据 */
    SELECT * FROM Student LIMIT 10 OFFSET 10;
    

    2. 分页公式

    • 总页数计算

    在进行分页之前,我们需要先根据数据总量来得出总页数,这需要用到COUNT函数和向上取整函数CEIL,SQL如下:

    /* 获得数据总条数 */
    SELECT COUNT(*) FROM Student;
    /* 假设每页显示10条,则直接进行除法运算,然后向上取整 */
    SELECT CEIL(COUNT(*) / 10) AS pageTotal FROM Student;
    
    • 核心信息
      • 当前页:pageNumber
      • 每页数据量:pageSize

    在实际操作中,我们能够得到的信息有当前所在页以及每页的数据量,同时要注意一下是否超出了最大页数。以每页10条为例,则前三页的数据应为:

    • 第1页:第1~10条,SQL写法:LIMIT 0,10
    • 第2页:第11~20条,SQL写法:LIMIT 10,10
    • 第3页:第21~30条,SQL写法:LIMIT 20,10

    据此我们可以总结出,LIMIT所需要的两个参数计算公式如下:

    • offset:(pageNumber - 1) * pageSize
    • rows:pageSize

    扫描下方二维码,加入官方粉丝微信群,可以与我直接交流,还有更多福利哦~

    在这里插入图片描述

    展开全文
  • PHP+MySql分页显示示例分析 PHP+MySql分页显示示例分析
  • Mybatis mysql查询结果分页显示行号 一个功能页面展示数据时需要分页并且加上序号,以便用户查看当前为第几条数据。可以直接从后台入手,在SQL语句里查询时就加上序号返回给前端。 select (@mycnt := cast(@...

    Mybatis mysql查询结果分页并显示行号

    • 一个功能页面展示数据时需要分页并且加上序号,以便用户查看当前为第几条数据。可以直接从后台入手,在SQL语句里查询时就加上序号返回给前端。
    select (@mycnt := cast(@mycnt as SIGNED)+1) as rownum, b.* from (
        SELECT
        u.realname,
        u.id,
        u.user_id,
        COUNT(c.curriculum_name) AS num
        FROM
        `user` u,
        curriculum c
        WHERE
        u.id = c.user_id
        GROUP BY 
        u.id
        limit #{startNum},#{pageNum}
    )b,(select @mycnt := #{startNum}) num 
    

    简单的来说就是在原来的SQL上增加了第一行和最后一行。

    展开全文
  • 资源介绍:MYSQL数据库分页查询源码(高级表格显示)资源作者:
  • 当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询。对于数据库分页查询,也有很多种方法和优化的点。下面简单说一下我知道的一些...
  • 主要给大家介绍了关于spring Boot查询数据分页显示的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
  • 易语言MYSQL分页查询源码,MYSQL分页查询,载入表记录,显示指定范围记录,取总记录数2,显示记录
  • SELECT b.* from ( SELECT A.*, CASE WHEN @mid = pay_sort THEN @ROW := @ROW + 1 ELSE...

                
                SELECT b.* from 
                (
                SELECT
                    A.*,
                CASE
                        WHEN @mid = pay_sort THEN
                        @ROW := @ROW + 1 ELSE @ROW := 1 
                    END rownum,
                    @mid := pay_sort 
                FROM
                    table, (select @ROW:=0) t
                ) b  where 1 = 1
                
                limit #{pageStart},#{pageEnd}
     

    展开全文
  • MySQL大数据量分页查询方法及其优化
  • 在项目中,多表联合查询是最常见的情景之一,在多表联合查询同时进行分页查询时,可能会出现查询结果条数不正确的情况或者说查询结果有遗漏的情况。针对这种问题,本文将探讨其解决方案。 解决办法为使用子查询的...
  • Flask+MySQL大数据表格分页显示

    千次阅读 2020-05-22 10:05:41
    前端采用Layui框架渲染,对页码和条数传参给后台做条件查询; 得到后端返回数据,对前端表格进行重载刷新 顶部搜索栏HTML <div class="layui-col-md12 x-so"> <input class="layui-input" autocomplete=...
  • mysql分页显示基础

    2017-08-23 00:30:46
    对数据库分页显示的代码
  • Mysql的分页的两个参数 select * from user limit 1,2 ... 您可能感兴趣的文章:详解MySQL的limit用法和分页查询语句的性能分析MYSQL分页limit速度太慢的优化方法mysql limit分页优化方法分享Mysql limit
  • 基于ssm框架进行分页查询。数据库mysql、前端Easy_UI框架。在大量数据的查询下,我们需要使用到分页查询。对应博客请查看:基于ssm框架下的分页显示
  • jsp+MySQL查询结果分页显示[实例]

    千次阅读 2010-10-18 00:07:00
    已验证可以执行的代码。... //驱动程序名,比较旧了,如果你用mysql5,自己改。  String driverName="com.mysql.jdbc.Driver";  String userName="root";//数据库用户名  String userPasswd="12345";//密码
  • PHP+Mysql 实现数据分页显示

    万次阅读 多人点赞 2018-03-26 11:38:01
    获取结果集中的记录数可以在SELECT语句中使用COUNT()函数获取结果集中的记录数量 设置每页显示记录的数量假定使用变量$PageSize来保存每页显示记录的数量,它的值由 用户根据需要自行设置,可以直接通过赋值语句来...
  • mysql分页查询是我们经常见到的问题,那么应该如何实现呢?下面就教您一个实现mysql分页查询的好方法,供您参考学习。
  • 易语言MYSQL数据库分页查询源码,MYSQL数据库分页查询,载入表记录,显示指定范围记录,取总记录数2,显示记录
  • Mysql+Mybatis分页查询

    千次阅读 2018-12-16 19:40:25
    一,首先做一个查询所有并显示 dao public interface ProductDAO { public List&lt;Product&gt; list(); } mapper &lt;mapper namespace="hust.mm.dao.ProductDAO"&gt; &lt;...
  • MySQL实现分页查询数据

    千次阅读 2019-03-13 20:57:51
    ---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N ---适应场景: 适用于数据量较少的情况(元组百/千级) ---原因/缺点: 全表扫描,速度会很慢 且 有的数据库结果集返回不稳定(如某次返回1,2,3,另外...
  • 基于PHP MySQL的Web分页显示技术.pdf
  • 二、条件不定,查询数据库,把查询结果进行分页显示 如下图;包含四个条件,用户在选择的时候可以选择一个条件、任意两个条件、三个条件、全部条件进行查询,  思路: 1,jjsp把用户选择的条件参数传递到A...
  • 用PHP MySQL实现分页查询显示.pdf
  • select * from table LIMIT (当前页-1)*每页显示条数,每页显示条数; MySQL之Limit简单优化.md 同样是取90000条后100条记录,传统方式还是改造方式? 传统方式是先取了前90001条记录,取其中最大一个ID值作为起始标识,...
  • mySQLmysql数据库分页查询讨论专题

    万次阅读 多人点赞 2019-05-05 14:36:37
    MySQL:limit分页公式、总页数公式 1) limit分页公式 (1)limit分页公式:curPage是当前第几页;pageSize是一页多少条记录 limit (curPage-1)*pageSize,pageSize (2)用的地方:sql语句中 select * from student...
  • 最近简单的对oracle,mysql,sqlserver2005的数据分页查询作了研究,把各自的查询的语句贴出来供大家学习….. (一)、mysql分页查询 mysql分页查询是最简单的,借助关键字limit即可实现查询查询语句通式: ...
  • MFC连接MYSQL实现分页

    2019-12-02 15:07:39
    MFC连接mysql数据库实现分页效果,实际测试完美分页。原创博客地址https://blog.csdn.net/qq_37529913/article/details/103347527
  • java实现mysql分页查询 1.前言 1.mysql中分页用limit,但是limit后面不能跟表达式 ,错误表达式:limit (1-1)*10,10。 2.对象中提供分页数据的方法。 备注:limit a,b 表示从第a+1条开始取,本次一共取b条 如limit 0,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 65,591
精华内容 26,236
关键字:

mysql查询结果分页显示

mysql 订阅