PageHelper是什么?
是一个快捷的内容分页插件,就是在从数据库获取数据库的过程中,自动帮我们加入了limit语句,来帮助我们完成分页
怎么使用PageHelper?
-
导入依赖
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.3.0</version> </dependency>
-
使用两个类就好了
public PageInfo<ResponseEntityDto> page(RequestParamDto param) { PageHelper.startPage(param.getPageNum(), param.getPageSize()); List<ResoinseEntityDto> list = mapper.selectManySelective(param); //下面两种都可以 //PageInfo<ResponseEntityDto> pageInfo = (PageInfo<ResponseEntityDto>)list; PageInfo<ResponseEntityDto> pageInfo = PageInfo<ResponseEntityDto>(list); return pageInfo; }
-
还挺简单的
测试
测试代码:
package com.test;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.wip.MyBlogApplication;
import com.wip.dao.LogDao;
import com.wip.model.LogDomain;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.LinkedList;
import java.util.List;
@SpringBootTest(classes = MyBlogApplication.class)
@RunWith(SpringRunner.class)
public class TestPageHelper {
@Autowired
private LogDao logDao;
public PageInfo<LogDomain> getPage(){
PageHelper.startPage(1,2);
List<LogDomain> logs = logDao.getLogs();
PageInfo<LogDomain> pageInfo = new PageInfo<>(logs);
return pageInfo;
}
@Test
public void test(){
PageInfo<LogDomain> page = getPage();
System.out.println(page);
System.out.println(page.getPageNum());
System.out.println(page.getPageNum());
}
}
可以查看一下输出日志
可以发现,其本质上就是在sql语句后面加上了对应的limit语句进行分页的