首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >mybatis,sqlserver分页

mybatis,sqlserver分页

作者头像
逝兮诚
发布于 2019-10-30 12:01:17
发布于 2019-10-30 12:01:17
2.7K0
举报
文章被收录于专栏:代码人生代码人生

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/luo4105/article/details/51174257

以前项目都是mysql加mybatis的,新的一个项目客户要求用sqlserver,好在大部分sql都一样,不过还是有些sql语句不同,比如分页

首先看看sqlserver的分页原理

例:10到20的数据分页

代码语言:javascript
复制
 SELECT top 10 * 
 	from tablename
 where
 	id not in (
 		select top 10 id from tablename
 	)
 order by id

在mybatis中,用pagesize,pagestart去替换10,20

代码语言:javascript
复制
SELECT top ${pagesize} * 
 	from tablename
 where
 	id not in (
 		select top ${pagestart} id from tablename
 	)
 order by id

常见异常 1.sqlserver @P0 附近有语法错误 把#{var}改成${var} 原因 #{var}传入参数会被装饰成 "var"可以防止sql注入问题 比如num=10,上面sql语句就会被解释成SELECT TOP "10" FROM tablename 这样就会报错 ${var}传入参数会直接显示 会有发生sql注入问题 同样num=10,上面sql语句就会被解释成SELECT TOP 10 FROM 这样就没错

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016/04/17 ,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档