阅读(3222) (22)

MyBatis实现分页功能

2020-09-07 16:57:06 更新

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

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

select * from table limit 5; --返回前5行

select * from table limit 0,5; --同上,返回前5行

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


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

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


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

由于篇幅太长详细过程看原文:www.cnblogs.com/digdeep/p/4608933.html