mysql mybatis 分页查询语句怎么写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql mybatis 分页查询语句怎么写相关的知识,希望对你有一定的参考价值。

1、亲Mybatis是自己写Sql语句啊,和Hibernate不一样。
2、如何知道上面的,你还要知道mysql有一个分页语句叫limit,如:limit(1,10);前面一个参数是起始未知,后面一个是查询多少个。
3、Oracle的分页方法是嵌套子查询,需要用到rownum这个属性
Sql Server是Top。

分页例子:
Oracle select * from (select emp.*,rownum rn from emp where rownum<9) where rn>3;
MySql select * from emp limit startIndex,maxNum
参考技术A 一般都会传2个参数,第一个是表示当前页的索
引(一般从0开始),第二个表示当前页展示多少条业务记录

分页查询的sql 语句(参数1,参数2)?怎么写?

分页查询的sql 语句(参数1,参数2)?怎么写?
参数1 第几页?
参数2 每一页显示的条数?
这个应该怎么写啊?

你说的应该是 利用SQL的游标存储过程 来分页的形式
代码如下:
create procedure fenye
@sqlstr nvarchar(4000), --查询字符串
@currentpage int, --第N页
@pagesize int --每页行数
as
set nocount on
declare @P1 int, --P1是游标的id
@rowcount int
exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output
select ceiling(1.0*@rowcount/@pagesize) as 总页数--,@rowcount as 总行数,@currentpage as 当前页
set @currentpage=(@currentpage-1)*@pagesize+1
exec sp_cursorfetch @P1,16,@currentpage,@pagesize
exec sp_cursorclose @P1
set nocount off

不过这个种存储过程分页的方法效率比较差
建议你直接用代码进行分页
或者 利用SELECT TOP分页
代码:
select top 10 * from [order details]
where orderid>all(select top 10 orderid from [order details] order by orderid)
order by orderid
参考技术A http://hi.baidu.com/%CA%B7%C9%CF%D7%EE%C7%BF%B5%C4%B6%B9%BB%A8/blog/item/9183742f8a18dd3f1e308972.html

喜欢可以看看
不知道有用没有
我虽然保存了
但是还没有真正研究过
罪过
阿门~~
参考技术B 你会子查询吗?

以上是关于mysql mybatis 分页查询语句怎么写的主要内容,如果未能解决你的问题,请参考以下文章

mybatis怎么实现时间段查询

分页查询的sql 语句(参数1,参数2)?怎么写?

oracle分页查询语句怎么写每页查询10条

java mybatis 分页模糊查询页面怎么写

mybatis 中怎样实现oracle分页语句

mysql 多表联合查询语句怎么写