mybatis如何实现分页功能?

时间:2021-11-26 13:28:29

1)原始方法,使用limit,需要自己处理分页逻辑:

对于mysql数据库可以使用limit,如:

select * from table limit 5,10; --返回6-15行

对于oracle数据库可以使用rownum,如:

--如:从表Sys_option(主键为sys_id)中从第10条记录开始检索20条记录,语句如下

SELECT * FROM (SELECT ROWNUM R,t1.* From Sys_option where rownum < 30 ) t2

Where t2.R >= 10

详见:http://www.cnblogs.com/fanyong/p/3351350.html

 

2)拦截StatementHandler,其实质还是在最后生成limit语句

详见:http://www.cnblogs.com/jcli/archive/2011/08/09/2132222.html

 

3)使用PageHelper插件,这是目前比较常见的方法:

详见:http://www.cnblogs.com/digdeep/p/4608933.html