mysql 分页 jdbc_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 ;
分享到:
2010-08-18 17:45
浏览 1043
分类:数据库
评论
mysql 分页 jdbc_JDBC调用MySQL分页存储过程实现(一)相关推荐
- pb 调用mysql过程_pb调用mysql函数或存储过程异常
pb调用mysql函数或存储过程异常.尤其是mysql函数带传入传出参数时,pb调用时候无法正常执行,提示SQLSTATE=37000错误. 在pb程序中正常更新mysql表中字段或读取mysql表中 ...
- mysql 视图 mybatis_Mybatis调用视图和存储过程的方法
现在的项目是以Mybatis作为O/R映射框架,确实好用,也非常方便项目的开发.MyBatis支持普通sql的查询.视图的查询.存储过程调用,是一种非常优秀的持久层框架.它可利用简单的XML或注解用语 ...
- ajax连mysql数据库_AJAX调用mysql数据库简单例子
地址: 用户: 密码: function a(){ var cont=$("input").serialize(); $.ajax({ url:"7.php", ...
- mysql hicharts_PHP怎么调用Mysql的数据给Highcharts
本帖最后由 tiiia 于 2016-4-11 11:23 编辑 小白一只,对照着网上的例子写了一下,但是显示不出来,调用test数据表里的time作横坐标,sendcode作纵坐标数据,求大神帮忙看 ...
- php分页技术的作用,分页原理技术细节剖析(php+mysql)实例
提到分页,大家都不陌生,在我们日常浏览网页时常遇到,尤其新闻文章列表等都有分页,如下图所示: 分页实例 下面,通过一个实例为大家剖析一下分页原理上技术细节. 一.功能开发思路 在分页功能的实现前,先做 ...
- jq取第一个子元素为select_Java修行第036天---MySQL中的子查询,分页语句,三大范式...
学习目标: 1.掌握子查询 2.了解正则表达式 3.理解索引的作用和创建索引 4.了解用户管理 5.掌握分页语句 6.了解执行计划和数据库引擎 7.理解数据库设计的三大范式 综合程序图: 1 子查询知 ...
- 用ajax+js+dom+php+mysql,方百度goole的分页~~~~~~~~哦!
思路: 分页的实现逻辑 1.在mysql中如何查询区间数据 limit 起始行,要查询的行数 2.什么是分页 当我们的数据量比较大时候,一页显示不了就分页显示,可以增加用户的体验 3.实现分页 ...
- hql调用mysql存储过程_hibernate调用mysql存储过程
在mysql中创建两个存储过程,如下: 1.根据id查找某条数据: 1 CREATE PROCEDURE `findEmpById`(IN id INTEGER(11))2 begin3 s ...
- MySQL 学习笔记(6)— 存储过程创建、调用、删除以及带参数的存储过程
1. 存储过程总结 存储过程是一种存储在数据库中的程序.它可以包含多个 SQL 语句,并提供许多过程语言的功能,例如变量定义.条件控制语句.循环语句.游标以及异常处理等. 1.1 存储过程优点 实现代 ...
最新文章
- linux不能挂载手机,这个无法挂载的信息是怎么回事?
- 使用ganymed-ssh2-build通过ssh获得远程服务器参数
- OpenCV meanshift目标追踪
- docker数据卷volume详解
- SAP ABAP ADBC和Java JDBC的使用比较
- Struts2项目中的JSP如何访问Session对象
- C++ qsort() 函数调用时实参与形参不兼容的问题解决
- java 判断请求为 ajax请求_Java后台判断ajax请求及处理过程详解
- led数字字体_技术丨体育场馆LED显示屏设计与安装要求
- OpenCV图像处理基础操作(3)
- 如何防范短信接口被恶意攻击
- lamp兄弟连java_LAMP兄弟连李明老师讲Linux视频教程下载
- ps用计算机,教你用photoshop绘制计算器
- 单片机课设中期报告_毕业论文--中期检查情况报告(40页)详解.doc
- hdoj2154跳舞毯
- 遥感影像数据产品级别
- JAVA表达爱意_520表白日;程序员不会说爱?来一种属于程序员的满满爱意
- 2058:简单计算器
- iphone手机音频AAC视频H264推流(一) iphone手机推流最佳方案
- 服务器虚拟环境使用指南
热门文章
- 防水耐脏,超大容量双肩包,限时拼团仅需49元
- 揭开容器的神秘面纱:帮助初学者深入了解容器技术
- lamp mysql位置_linux查看 LAMP环境安装路径
- 计算机毕设最快多长时间,大学几年快结束了,计算机毕设到底该怎么做?
- apache 统计404日志_Apache监控与调优(四)Apachetop监控
- quercus mysql_让PHP运行在Glassfish中:quercus配置
- Centos7 解决Docker拉取镜像慢的问题
- Linux Shell脚本专栏_批量检测网站是否异常脚本_08
- Linux环境_源码安装Unoconv实现文件在线预览doc,doxc,xls,xlsx,ppt,pptx 文件
- idea maven插件tomcat内存溢出