PageHelper分页插件

默认pageInfo成员变量

    //当前页
    private int pageNum;
    //每页的数量
    private int pageSize;
    //当前页的数量
    private int size;
    //由于startRow和endRow不常用,这里说个具体的用法
    //可以在页面中"显示startRow到endRow 共size条数据"
  
    //当前页面第一个元素在数据库中的行号
    private int startRow;
    //当前页面最后一个元素在数据库中的行号
    private int endRow;
    //总记录数
    private long total;
    //总页数
    private int pages;
    //结果集
    private List<T> list;
  
    //第一页
    private int firstPage;
    //前一页
    private int prePage;
  
    //是否为第一页
    private boolean isFirstPage = false;
    //是否为最后一页
    private boolean isLastPage = false;
    //是否有前一页
    private boolean hasPreviousPage = false;
    //是否有下一页
    private boolean hasNextPage = false;
    //导航页码数
    private int navigatePages;
    //所有导航页号
    private int[] navigatepageNums;

1、配置分页插件

(1)pom.xml

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>最新版本</version>
</dependency>

(2) spring-aplication.xml 配置拦截器插件

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  <!-- 注意其他配置 -->
  <property name="plugins">
    <array>
      <bean class="com.github.pagehelper.PageInterceptor">
        <property name="properties">
          <!--使用下面的方式配置参数,一行配置一个 -->
          <value>
            params=value1
          </value>
        </property>
      </bean>
    </array>
  </property>
</bean>

2、xxServiceImpl实现分页(Mapper接口方式的调用)

@Service
public class BloodPressureServiceImpl implements BloodPressureService{
  @Resource
  private BloodPressureDao bloodPressureDao;

  @Override
  public NaviPage<BloodPressure> getAllData(Pager pager) {
   PageHelper.startPage(pager.getPageIndex(), pager.getPageRows());    List
<BloodPressure> myList = bloodPressureDao.list();    return MachinePage.getNaviPage(myList);   } }

 

点赞