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 ;

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2010-08-18 17:45

浏览 1043

分类:数据库

评论

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/529550.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mariadb mysql表_mysql/mariadb学习记录——创建删除数据库、表的基本命令

查看已有的数据库&#xff1a;mysql>show databases;--------------------| Database |--------------------| information_schema || test |--------------------2 rows in set (0.05 sec)新建数据库语句:mysql>create database wzu;Query OK,1 row affected (0.05sec)m…

zabbix proxy mysql_zabbix proxy 配置

在监控大量服务器时&#xff0c;如果将所有的请求都发送到一个zabbix server上&#xff0c;将会对我们的zabbix server造成很大的压力&#xff0c;我们在规划多个区域或机房进行监控的时候&#xff0c;会考虑到使用zabbix proxy 来代理zabbix server 的部分功能。zabbix server…

mysql修改数据库结构用哪一项_mysql alter修改数据库表结构用法

1.alter操作表字段(1)增加字段alter table 表名 add 字段名 字段类型&#xff1b;alter table student add name varchar(10)&#xff1b;(2)修改字段alter table 表名 change 旧字段名 新字段名 字段类型&#xff1b;alter table 表名 modify 字段名 字段类型&#xff1b;//修…

mvc mysql linq_MVC3+Linq to sql 显示数据库中数据表的数据

1&#xff1a;首先创建asp.net mvc3应用程序 2&#xff1a;创建项目完成后 找到controllers文件鼠标右击选择添加控制器 3 为models文件夹添加一个linq to sql类文件&#xff0c;然后把数据库中的数据库复制进来。如截图操作 4&#xff1a;添加控制器好后会生成一个HomeControl…

bash给脚本加进度条_shell脚本实现多彩进度条

代码如下&#xff1a;1 #!/bin/bash2 i0;3 str""4 arr("|" "/" "-" "\\")5 while [ $i -le 100 ]6 do7 let indexi%48 let indexcolori%89 let color30indexcolor10 printf "\e[0;$color;1m[%-100s][%d%%]%c\r" &…

koa mysql mongodb_koa 操作MongoDB数据库

安装安装MongoDBnpm install mongodb --save引入中间件引入mongodb下面的连接模块MongoClient// 引入MongoDB 连接模块const MongoClient MongoDB.MongoClient;配置中间件定义数据库连接的地址以及配置数据库的名称let url "mongodb://localhost:27017/";let dbNam…

mysql 64位 安装1045_MySql 安装时的1045错误

MySql 安装到最后一步遇到1045错误Access denied for user rootlocalhost (usingpassword:YES)解决方案一&#xff1a;卸载MySQL&#xff0c;重新安装1, 卸载MySQL2, 删除目录 C:\Documents and Settings\All Users\ApplicationData\MySQL,还要删除MySQL安装目录3, 重新安装MyS…

mysql工作表格制作教程_Access制作复杂报表

何制作复杂报表利用excel输出复杂报表 在读这篇文章以前首先要提醒大家&#xff0c;Access 本身的报表也具有很强的实用性和强大的功能&#xff0c;只有当你发掘了其本身全部的功能却仍不能满足你对报表的特殊要求时才请使用 Excel 输出报表。很明显&#xff0c;使用 Excel 输出…

php+mysql投票代码_PHP+jQuery+MySql实现红蓝投票功能

本文是一篇综合知识应用类文章&#xff0c;需要您具备PHP、jQuery、MySQL以及html和css方面的基本知识。本文在《PHPMySqljQuery实现的“顶”和“踩”投票功能》一文基础上做了适当改进&#xff0c;共用了数据表&#xff0c;您可以先点击了解这篇文章。HTML我们需要在页面中展示…

numpy 最大值_第 85 天:NumPy 统计函数

数学统计在我们的程序当中特别是数据分析当中是必不可少的一部分&#xff0c;本文就来介绍一下 NumPy 常见的统计函数。最大值与最小值numpy.amin()用于计算数组中的元素沿指定轴的最小值。可以通过 axis 参数传入坐标轴来指定统计的轴&#xff0c;当指定 axis 时&#xff0c;a…

java中如何实现变量可配置_Java基础-如何配置环境变量

Java环境变量详细教程第一步、打开电脑环境变量设置窗口以Win10系统为例子。在桌面找到此电脑&#xff0c;右键此电脑— —>属性&#xff0c;点击属性— —>点击左侧高级系统设置点击高级系统设置点击环境变量第二步、新建JAVA_HOME点击系统变量中的新建,出现输入框&…

python三引号解析_[宜配屋]听图阁

和C语言一样&#xff0c;引号属于特殊功能字符&#xff0c;不能够像普通字符那样直接通过print打印&#xff0c;需要进行一些处理&#xff0c;比如说反斜杠转义等。这里介绍几种打印三引号的方法&#xff0c;希望对需要的朋友有用。1、第一中方法比较简单&#xff0c;直接使用三…

abaqus python 建立节点集合_在Python中创建Abaqus集

我想用Python在Abaqus中创建一个带边的几何集。我不会事先知道边的数目。尝试将边放入数组中&#xff0c;然后创建集合。你知道吗myEdgesForSet []for i in range(0, len(mdb.models[Model].parts[Part].edges)):if something in mdb.models[Model].parts[Part].edges[i].feat…

java类默认访问权限_Java的四种访问权限

❝ 所谓访问权限&#xff0c;指的就是本类中的成员变量、成员方法对其他类的可见性❞试想一想&#xff0c;当我们修改一个非常庞大的项目时&#xff0c;如果所有变量和方法都是公共权限&#xff0c;那么后端中任何类都有权限去修改它的变量和方法&#xff0c;很有可能修改后就导…

java 数组 反射_【译】10. Java反射——数组

用Java反射来处理数组有时候是技巧性很强的。特别是如果你需要获取一个给定类型的数组的Class对象&#xff0c;像int[ ]等。本文将讲述怎么用Java反射来创建数组和获取数组的Class对象。下面是所涵盖的主题列表&#xff1a;java.lang.reflect.ArrayCreating ArraysAccessing Ar…

定时执行java程序_如何让Java程序定时运行

由于项目开发的需要&#xff0c;必须实现让一个Java程序定时运行。比如&#xff0c;我的项目中&#xff0c;有一个网络蜘蛛&#xff0c;需要从互联网上抓取数据&#xff0c;与其配合&#xff0c;有另一个程序来对新抓取的页面进行索引的创建&#xff0c;由于数据源更新频率不高…

java递归实现排序_快速排序算法原理及java递归实现

快速排序 对冒泡排序的一种改进&#xff0c;若初始记录序列按关键字有序或基本有序&#xff0c;蜕化为冒泡排序。使用的是递归原理&#xff0c;在所有同数量级O(n longn) 的排序方法中&#xff0c;其平均性能最好。就平均时间而言&#xff0c;是目前被认为最好的一种内部排序方…

java 泛型 .net_Java泛型

标签&#xff1a;上一篇博文java8函数式编程--收集器collector&#xff1a;(http://my.oschina.net/joshuashaw/blog/487322)讲得比较随性&#xff0c;并没有把源码一句一句拿出来分析&#xff0c;后来发现groupingBy方法最后有一个if-else分支用来返回不同类型的collector&…

卡法电子商务 java_javacard DES算法API使用示例

********** 2017年3月15日留言 ——关于java卡Applet系列csdn博文 *************貌似有不少人在看我写的几篇关于java卡applet的博文&#xff0c;也收到了一些评论指正博文错误&#xff0c;或者私信叫我发代码文件过去。在此需要说明的是&#xff0c;java卡applet的这几篇博文…

java http请求原理_浅谈Spring Cloud zuul http请求转发原理

spring cloud 网关&#xff0c;依赖于netflix 下的zuul 组件zuul 的流程是&#xff0c;自定义 了ZuulServletFilter和zuulServlet两种方式&#xff0c;让开发者可以去实现&#xff0c;并调用先来看下ZuulServletFilter的实现片段Overridepublic void doFilter(ServletRequest s…