`
hyalxm
  • 浏览: 3615 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

JDBC调用MySQL分页存储过程实现(一)

阅读更多
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_分页示例系统

    Servlet_jdbc_mysql_分页示例系统是一个基于Java Web技术的简单应用,它演示了如何使用Servlet、JDBC以及MySQL数据库实现数据的分页显示。这个项目对于初学者理解Web开发中的数据库操作和分页技术非常有帮助。下面将...

    JDBC连接MySql数据库+增删改查+分页+DWR增删改查 分页

    总结起来,这个项目结合了JDBC进行数据库操作,MySQL作为数据存储,利用分页技术优化数据展示,以及DWR实现无刷新交互。这些技术的综合运用,不仅展示了数据库操作的基本流程,也体现了现代Web应用开发中前后端交互...

    Struts2+jdbc+mysq分页Demo

    总结起来,"Struts2+jdbc+mysql分页Demo"是一个典型的Web开发案例,展示了如何整合Struts2、JDBC和MySQL实现数据的分页显示。通过这个示例,开发者可以学习到如何在Java Web环境中有效地处理大数据量,提高用户体验...

    java基于原生的MySql的JDBC分页组件

    本篇将详细介绍如何基于原生的MySQL JDBC实现一个简单的分页组件,这对于初学者理解数据库操作和分页原理非常有帮助。 1. **JDBC基础**: JDBC是Java访问数据库的标准接口,它提供了连接数据库、执行SQL语句、处理...

    jdbc实现分页功能

    本教程将详述如何使用JDBC实现MySQL数据库的分页功能,这对于处理大量数据的Web应用来说至关重要,可以提高用户体验并减轻服务器负载。 首先,我们需要了解分页的基本概念。分页是将大量查询结果分割成较小、易于...

    java使用JDBC调用mysql的人员信息管理系统

    Java使用JDBC调用MySQL的人员信息管理系统是一个典型的数据库应用开发案例,主要涉及Java编程语言、MySQL数据库系统以及Java数据库连接(JDBC)技术。在这个系统中,Java作为客户端,通过JDBC API与MySQL服务器进行...

    MySql + JDBC +EasyUI DataGrid实现数据表格的展示和分页

    总结,本项目结合了MySQL数据库的存储能力、JDBC的数据库访问能力以及EasyUI的前端展示优势,实现了数据表格的展示和分页功能。这样的设计既满足了数据管理的需求,也提供了良好的用户体验。通过深入理解这些技术,...

    JSP+JDBC_真分页(基于MySQL数据库分页)

    **JSP + JDBC 真分页实现详解** ...综上所述,通过JSP和JDBC结合,我们可以实现在MySQL数据库上的真分页功能,提供高效的、用户友好的数据展示。在实际开发中,还可以结合缓存、负载均衡等技术,进一步提升系统性能。

    JAVA+JSP+MYSQL分页

    本主题主要关注使用JAVA、JSP以及MYSQL来实现分页功能,特别是通过调用MYSQL的存储过程来优化这一过程。 首先,JAVA作为后端开发语言,负责与数据库交互,处理业务逻辑。在JAVA中,我们可以使用JDBC(Java Database...

    mysql 分页源代码

    在IT行业中,数据库查询的效率和用户体验是至关重要的,特别...通过对这些文件的学习和理解,开发者可以掌握如何在实际项目中实现基于JSP、JavaBean、JDBC和MySQL的分页功能,从而优化数据库查询并提供更好的用户体验。

    用Struts2+JDBC+Mysql写的增删改查,分页

    总结来说,这个项目提供了一个基础的Web应用示例,展示了如何利用Struts2框架,结合JDBC和MySQL数据库来实现用户管理的CRUD操作,以及分页和登录功能。对于初学者来说,这是一个很好的学习资源,涵盖了Web开发中的...

    jdbc分页查询源码

    本源码示例着重讲解如何利用JDBC进行分页查询,以避免一次性加载所有数据导致的性能瓶颈。 首先,我们需要了解分页查询的基本概念。分页查询是将数据库中的数据按一定的数量(如每页10条)分割,每次只查询一部分,...

    java jsp mysql分页(原代码)

    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 ``` 这个存储...

    jdbc分页 专家写的超强代码 mysql

    本文将深入探讨由一位专业IT专家编写的、适用于MySQL的JDBC分页代码,帮助开发者理解并优化他们的数据库查询性能。 首先,JDBC(Java Database Connectivity)是Java平台中的一个标准API,用于连接Java应用程序与...

    java jdbc 分页

    具体实现细节需要查看源代码以了解更多信息,如分页查询是否考虑了性能优化(如预编译SQL,使用存储过程等),是否支持动态分页参数,以及是否兼容多种数据库等。 总的来说,Java JDBC分页是数据库操作中的常见需求...

    com.mysql.jdbc_5.1.5.jar.zip

    此外,此JDBC驱动还支持多种特性,如事务管理、批处理、存储过程调用、结果集分页等。然而,值得注意的是,随着MySQL版本的更新,新的驱动程序(如`mysql-connector-java`的更高版本)引入了更多的优化和改进,包括...

    jdbc入门、分页以及事务

    JDBC中的分页通常通过在SQL查询中添加LIMIT和OFFSET子句来实现(MySQL)或ROWNUM(Oracle)。 1. **LIMIT/OFFSET语法**: 在MySQL中,`SELECT * FROM table LIMIT limit OFFSET offset;`,limit表示每页的数据量,...

    基于JDBC的图形用户界面实现分页示例

    本示例将深入探讨如何使用Java的JDBC(Java Database Connectivity)接口来实现一个基于图形用户界面(GUI)的分页功能,同时涵盖MySQL、Oracle和SQL Server这三种主流关系型数据库的实现。 首先,我们需要理解JDBC...

    jsp 实现分页+mysql

    本教程将深入讲解如何使用JavaServer Pages(JSP)结合Servlet和MySQL数据库来实现分页功能。 首先,我们需要了解JSP的基本概念。JSP是一种基于Java的动态网页技术,它允许开发人员在HTML页面中嵌入Java代码,从而...

Global site tag (gtag.js) - Google Analytics