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));