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