Mybatis的分页方式

1、List分页,即将所有数据查询出来放到List里,再根据接口传的参数,对List进行取数

比如:List list = userMapper.selectAll();

Page page = new Page(pageNum, pageSize);

//为Page类中的total属性赋值

int total = list.size();

page.setTotal(total);

//计算当前需要显示的数据下标起始值

int startIndex = (pageNum - 1) * pageSize;

int endIndex = Math.min(startIndex + pageSize, total);

//从链表中截取需要显示的子链表,并加入到Page

page.addAll(list.subList(startIndex, endIndex));

2、使用Sql语法分页,通过设置参数Limit进行限制查询条数

select * from test limit #{currIndex} , #{pageSize}

3、拦截器分页,即使用分页插件PageHelper,通过接口传参,将参数进行组装,拼接到sql上去,这个无需手动设置分页

PageHelper.startPage(pageNum, pageSize);

4、使用RowBounds进行分页,这种方法也是无需在sql里写limit,执行时mybatis会自动拼接上limit

传参时传入 RowBounds(int offset, int limit) 进行分页。

List select(Map<String, Object> map, new RowBounds(1, 10));

原文链接:,转发请注明来源!