DROP PROCEDURE IF EXISTS `pro_pager`;
CREATE DEFINER = `root`@`%` PROCEDURE `pro_pager`(
in p_pageNo int, /*当前页*/
in p_perPageCnt int, /*每页记录数*/
in p_sql VARCHAR(2000), /*查询sql语句*/
out v_totalRowsCnt int, /*记录总条数*/
out v_totalPageCnt int) /*记录总页数*/
BEGIN
/*当传入查询页数为null或者<1时,赋p_pageNo=1 */
IF p_pageNo IS NULL OR p_pageNo < 1 THEN
SET p_pageNo = 1;
END IF;
SET @rowsCnt = 0;
SET @pagesCnt = 0;
SET @sqlCnt = CONCAT('select count(1) into @rowsCnt from (',p_sql,') as t'); -- 统计总记录数sql
/*统计总记录数-预处理*/
PREPARE s_cnt from @sqlCnt;
EXECUTE s_cnt;
DEALLOCATE PREPARE s_cnt;
SET v_totalRowsCnt = @rowsCnt;
SET @pagesCnt = floor((@rowsCnt + p_perPageCnt - 1) / p_perPageCnt); -- 计算总页数
/*当传入查询页数>总页数时,赋p_pageNo=总页数 */
IF p_pageNo > @pagesCnt THEN
SET p_pageNo = @pagesCnt;
END IF;
SET v_totalPageCnt = @pagesCnt;
SET @limitStart = (p_pageNo - 1) * p_perPageCnt; -- 查询记录起始行
SET @limitEnd = p_perPageCnt; -- 查询记录结束行
SET @sqlQry = CONCAT(p_sql, ' limit ', @limitStart, ',', @limitEnd); -- 查询记录集sql
/*查询记录集-预处理*/
PREPARE record from @sqlQry;
EXECUTE record;
DEALLOCATE PREPARE record;
END ;
分享到:
相关推荐
Servlet_jdbc_mysql_分页示例系统是一个基于Java Web技术的简单应用,它演示了如何使用Servlet、JDBC以及MySQL数据库实现数据的分页显示。这个项目对于初学者理解Web开发中的数据库操作和分页技术非常有帮助。下面将...
总结起来,这个项目结合了JDBC进行数据库操作,MySQL作为数据存储,利用分页技术优化数据展示,以及DWR实现无刷新交互。这些技术的综合运用,不仅展示了数据库操作的基本流程,也体现了现代Web应用开发中前后端交互...
总结起来,"Struts2+jdbc+mysql分页Demo"是一个典型的Web开发案例,展示了如何整合Struts2、JDBC和MySQL实现数据的分页显示。通过这个示例,开发者可以学习到如何在Java Web环境中有效地处理大数据量,提高用户体验...
本篇将详细介绍如何基于原生的MySQL JDBC实现一个简单的分页组件,这对于初学者理解数据库操作和分页原理非常有帮助。 1. **JDBC基础**: JDBC是Java访问数据库的标准接口,它提供了连接数据库、执行SQL语句、处理...
本教程将详述如何使用JDBC实现MySQL数据库的分页功能,这对于处理大量数据的Web应用来说至关重要,可以提高用户体验并减轻服务器负载。 首先,我们需要了解分页的基本概念。分页是将大量查询结果分割成较小、易于...
Java使用JDBC调用MySQL的人员信息管理系统是一个典型的数据库应用开发案例,主要涉及Java编程语言、MySQL数据库系统以及Java数据库连接(JDBC)技术。在这个系统中,Java作为客户端,通过JDBC API与MySQL服务器进行...
总结,本项目结合了MySQL数据库的存储能力、JDBC的数据库访问能力以及EasyUI的前端展示优势,实现了数据表格的展示和分页功能。这样的设计既满足了数据管理的需求,也提供了良好的用户体验。通过深入理解这些技术,...
**JSP + JDBC 真分页实现详解** ...综上所述,通过JSP和JDBC结合,我们可以实现在MySQL数据库上的真分页功能,提供高效的、用户友好的数据展示。在实际开发中,还可以结合缓存、负载均衡等技术,进一步提升系统性能。
本主题主要关注使用JAVA、JSP以及MYSQL来实现分页功能,特别是通过调用MYSQL的存储过程来优化这一过程。 首先,JAVA作为后端开发语言,负责与数据库交互,处理业务逻辑。在JAVA中,我们可以使用JDBC(Java Database...
在IT行业中,数据库查询的效率和用户体验是至关重要的,特别...通过对这些文件的学习和理解,开发者可以掌握如何在实际项目中实现基于JSP、JavaBean、JDBC和MySQL的分页功能,从而优化数据库查询并提供更好的用户体验。
总结来说,这个项目提供了一个基础的Web应用示例,展示了如何利用Struts2框架,结合JDBC和MySQL数据库来实现用户管理的CRUD操作,以及分页和登录功能。对于初学者来说,这是一个很好的学习资源,涵盖了Web开发中的...
本源码示例着重讲解如何利用JDBC进行分页查询,以避免一次性加载所有数据导致的性能瓶颈。 首先,我们需要了解分页查询的基本概念。分页查询是将数据库中的数据按一定的数量(如每页10条)分割,每次只查询一部分,...
Java JSP MySQL分页是Web开发中常见的需求,主要用于处理大量数据时提高用户体验,避免一次性加载过多数据导致页面响应慢。在这个项目中,我们看到它使用了Java、JSP、JDBC以及MySQL来实现这一功能。下面将详细介绍...
1. 分页存储过程:创建一个包含分页逻辑的存储过程,如下面的例子: ```sql CREATE PROCEDURE GetUsersByPage(IN startId INT, IN limit INT) BEGIN SELECT * FROM Users LIMIT startId, limit; END ``` 这个存储...
本文将深入探讨由一位专业IT专家编写的、适用于MySQL的JDBC分页代码,帮助开发者理解并优化他们的数据库查询性能。 首先,JDBC(Java Database Connectivity)是Java平台中的一个标准API,用于连接Java应用程序与...
具体实现细节需要查看源代码以了解更多信息,如分页查询是否考虑了性能优化(如预编译SQL,使用存储过程等),是否支持动态分页参数,以及是否兼容多种数据库等。 总的来说,Java JDBC分页是数据库操作中的常见需求...
此外,此JDBC驱动还支持多种特性,如事务管理、批处理、存储过程调用、结果集分页等。然而,值得注意的是,随着MySQL版本的更新,新的驱动程序(如`mysql-connector-java`的更高版本)引入了更多的优化和改进,包括...
JDBC中的分页通常通过在SQL查询中添加LIMIT和OFFSET子句来实现(MySQL)或ROWNUM(Oracle)。 1. **LIMIT/OFFSET语法**: 在MySQL中,`SELECT * FROM table LIMIT limit OFFSET offset;`,limit表示每页的数据量,...
本示例将深入探讨如何使用Java的JDBC(Java Database Connectivity)接口来实现一个基于图形用户界面(GUI)的分页功能,同时涵盖MySQL、Oracle和SQL Server这三种主流关系型数据库的实现。 首先,我们需要理解JDBC...
本教程将深入讲解如何使用JavaServer Pages(JSP)结合Servlet和MySQL数据库来实现分页功能。 首先,我们需要了解JSP的基本概念。JSP是一种基于Java的动态网页技术,它允许开发人员在HTML页面中嵌入Java代码,从而...