我的通用分页存储过程

整合了springMVC和通用分页以及通用mapper的框架 整合了springMVC和通用分页以及通用mapper的框架,以及实现了一个界面查询 立即下载

我的通用分页

 (by dragonimp)

考虑了好久,一直想不好用什么方案好。

综合了各种方法写了自己的分页,准备在其他过程中调用。

CREATE PROCEDURE SelectPagedSQL
(
 @SQL nvarchar(512),
 @IndexField nvarchar(100),
 @PageSize int=10,
 @PageIndex int=1,
 @Sort nvarchar(128)=@IndexField,
 @TotalCount int=0 output
)
 AS
declare @strSQL nvarchar(1024)

set @strSQL='SELECT * FROM
  (SELECT TOP '+str(@PageSize)+' * FROM
  (SELECT TOP '+str(@PageSize*@PageIndex)+' * FROM
  ('+@SQL+') AS t0
  ORDER BY '+@IndexField+' ASC) AS t1
  ORDER BY '+@IndexField+' DESC) AS t2
  ORDER BY ' +@Sort
  +'
  set nocount on
  select @TotalCount=count(*) from ('+@SQL+') as t0'


exec sp_executesql
 @strSQL,
 N'@TotalCount int=0 OUTPUT',
 @TotalCount=@TotalCount OUTPUT
GO

经过测试,发现一个问题

在写这个的时候,一直拿不准要用id>max(id)还是直接top n,不知道哪种更快。

现在发现直接top是不行的,因为这样如果要的页面超出了表的范围,这样还是会得到记录的。也就是说这个是不可能出现没有记录的情况。所以,还是要改为max的方法。

别人有写了一个max的,但是他的输入参数不好,要指定tablename,我这个可以指定sql。速度上我这个慢了一点点,等我改用max看看是不是因为top的原因。

通用分页的使用方法以及原理 通用分页的使用方法以及原理通用分页的使用方法以及原理通用分页的使用方法以及原理 立即下载

相关推荐

探索LLM世界:新手小白的学习路线图

通过系统的学习和实践,新手小白也能逐步掌握LLM的核心技术。掌握LLM不仅能提升个人技术水平,还能为职业发展带来广阔的前景。未来,随着技术的不断进步,LLM将在更多领域发挥重要作用,成为推动科技进步的重要力量。学习LLM是一条充满挑战但也充满机遇的道路。只要你坚持不懈、不断学习和实践,就一定能够在LLM领域取得突破。希望本文提供的学习路线图能为你指明方向,助你早日掌握LLM,开启AI学习的新篇章!

m0_62110645的博客 2360

通用分页(分页代码的封装)

你知道如何封装分页功能代码吗( ̄▽ ̄)"

yifei_345678的博客 501

GD32_ADC采样+DMA多通道扫描传输

所使用的MCU 片上集成了 12 位逐次逼近式模数转换器模块(ADC),可以采样来自于 16 个外部通道和 2 个内部通道上的模拟信号。这 18 个 ADC 采样通道都支持多种运行模式,采样转换后,转换结果可以按照最低有效位对齐或最高有效位对齐的方式保存在相应的数据寄存器中。我们主要介绍其多通道扫描转换和DMA传输功能,在多个通道轮询采集ad数据,并使用DMA分别保存各个数据值,其能大大提高ADC的工作效率。以下为ADC 模块框图:

Yin_w的博客 8159

通用分页精装版本(二)

通用分页精装版本前言通用分页的思路及步骤最终实现的效果所需要的所有类结构以及架包![在这里插入图片描述](https://img-blog.csdnimg.cn/20200610235334613.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L21lbl9tYQ==,size_16,color_FFFFFF,t_70)代码实践使用的数据库表1.实体类

men_ma的博客 975

【一】PCIe基础知识

Linux PCIe基础知识

他山之石 可以攻玉 4万+

在 PyCharm 中使用 Copilot

此外,要在 PyCharm 中使用 GitHub Copilot,您必须有效订阅 Copilot。在 PyCharm 中安装 GitHub Copilot 后,您现在可以将其用作项目的扩展。此外,它很容易安装在不同的 IDE 平台上,您还可以为特定编程语言启用 GitHub 插件。此外,按照以下步骤,您可以轻松地在 PyCharm 中安装 GitHub Copilot。此外,在 IDE 上使用 GitHub Copilot 时,您可以使用一些快捷方式。

一览无遗 1万+

通用分页的详解(Java后端常用)

2.我们通用的basedao里面要判断是否分页,如果不需要分页的话就进行“原sql”查询即可,需要分页,就将模糊查询的总记录数计算出来以及回显最终展示的数据即可。实现思路:先封装一个分页工具类保存页码、一页的条目、总记录数以及是否分页,然后当成参数传递到Dao层的分页方法中,再将需要查询的关键词或是类别传递即可,但是这种分页查询方式非常的冗杂,下面看一下实现的代码!:在管理系统或人才招聘网站中,需要展示大量的用户信息,使用JSP通用分页也可以方便地实现数据分页展示,方便管理员或招聘方查看和管理。

m0_73647713的博客 2062

ch32v103xx 烧写

烧写方式 串口uart, usb,swd(wch link)但不建议按此使用,参官方说明。

qq_39239990的博客 637

通用分页(一)

通用分页(一) 什么是通用分页: 通用分页就是把我们经常使用的分页方法进行封装,然后用泛型传递对象,利用反射获取对象的所有属性并且赋值。 思路: 1、将原有的查询向上抽取 2、让返回值变成泛型 3、使用回调函数处理resultset 4、利用反射处理回调函数 5、获取总记录数(页面展示,计算总页数) 6、拼接分页sql语句,获取对应的结果集 好处: 一旦对分页进行封装后,我们在使用时就只需要改变s...

chenbowenleave的博客 240

解决用VScode写中文注释,Vivado打开之后是乱码的方法

这样就解决了中文注释乱码的问题,此外如果使用notepad++写verilog代码的话直接在notepad++上面将编码格式改为ANSI格式即可,更加方便快捷,所以此方法仅针对习惯用VScode写Verilog的同学,如果有其他好办法的话欢迎评论区补充。首先,VScode中的中文默认编码格式是UTF-8,然后Vivado的编码格式是vivado 默认的应该是ANSI编码格式,刚开始我先按照网上说明的,将VScode中的编码格式改为GBK格式(点击右下角->点击通过编码保存)。

weixin_50573305的博客 5810

h5页面调用微信JS-SDK分享到微信好友或者朋友圈的配置

1.引入js <script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> 2.在页面添加配置 <script type="text/javascript"> var url = location.href..

tiantiandashi的博客 2万+

实现的通用分页存储过程

方法一:TOP n 实现的通用分页存储过程CREATE PROC sp_PageView@tbname     sysname,            --要分页显示的表名@FieldKey   nvarchar(1000),   --用于定位记录的主键(惟一键)字段,可以是逗号分隔的多个字段@PageCurrent int=1,            --要显示的页码@PageSize 

陈志明的专栏 913

【异常】安装OpenClaw遇到 Windows环境pnpm安装node-llama-cpp postinstall生命周期脚本执行失败完整解决方案

摘要: Windows环境下使用pnpm安装node-llama-cpp时,postinstall脚本执行失败(错误码3221225477),主要因缺少C++编译工具链或预构建二进制下载失败。解决方案: 基础排查:确保管理员权限、Node.js ≥18、路径无中文; 安装编译工具:推荐Visual Studio的“C++桌面开发”组件或windows-build-tools; 环境变量配置:强制CPU模式+国内镜像(NODE_LLAMA_CPP_FORCE_CPU=true,镜像地址替换为国内源); pnp

奶爸的编程之路,也就一周冷个三天 618

基于Mysql的通用分页存储过程

基于Mysql的通用分页存储过程 2008-04-16 14:08:56 标签:数据库 mysql 存储过程 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://wenlujun.blog.51

lionzl的专栏 539

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

SQL通用分页存储过程

SQL通用分页存储过程 SQL2000 /********************************************************************************* * Function: SqlPage * Description: * 超强通...

XR1986687846的博客 223

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

通用分页存储过程

--通用分页存储过程 Create  PROCEDURE [dbo].[GetRecordFromPage]     @tblName      varchar(255),       -- 表名     @fldName      varchar(255)='AutoID',       --关键字段名     @PageSize     int = 10,       

何春晖ERP程序员 379

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

通用分页查询存储过程

 1   2  3--   通用分页查询存储过程     4  --   exec   p_PageRecordset_Table   #TempTable,20,1,100,0     5  ---------------------------------------------

faunjoe的专栏 540

邹建SQL Server通用分页存储过程

 资源概述:优快云社区SQL Server版大版主邹建的SQL Server通用分页存储过程。内容摘录:/*--用存储过程实现的分页程序 显示指定表、视图、查询结果的第X页 对于表中主键或标识列的情况,直接从原表取数查询,其它情况使用临时表的方法 如果视图或查询结果中有主键,不推荐此方法--邹建 2003.09(引用请保留此信息)--*//*--调用示例 exec p_show

YTFUNLOVE的BLOG 1491

通用分页存储过程的使用

看着同事写的通用分页存储过程觉得还不错,分享给大家 1、存储过程 USE [test] GO /****** Object:  StoredProcedure [dbo].[ads_GetAll]    Script Date: 07/04/2013 16:00:48 ******/ SET ANSI_NULLS ON GO SET QUOTED_ID

fs的专栏 1928

119.临时表缓存实现的通用分页存储过程

CREATE PROC sp_PageView @tbname sysname, --要分页显示的表名 @FieldKey nvarchar(1000), --用于定位记录的主键(惟一键)字段,可以是逗号分隔的多个字段 @PageCurrent int=1, --要显示的页码 @PageSize int=10, ...

huang714的专栏 180

MYSQL通用分页存储过程

CREATE DEFINER=`root`@`localhost` PROCEDURE `CommonPagenation`( in tableName varchar(50),  in selectWhere varchar(500) ,  in selectID varchar(20) ,  in selectOrder varchar(200),  in pageNo int ,

qwe8254的专栏 449
上一篇: JS从类内部设置timer调用类本身的函数
下一篇: http://blogs.impx.net/dragonimp
dragonimp
博客等级 码龄24年 3粉丝 38原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值