MyBatis로 사용 매김 플러그 PageHelp

1. 소개

PageHelper 기본 주류 및 MySQL은, 오라클, mariaDB, DB2, SQLite는, HSQLDB 등등과 같은 인기있는 데이터베이스를 지원 MyBatis로 매김 플러그인 국내 우수한 오픈 소스입니다. 이 플러그는 MyBatis로 플러그인은 다른 지속성 프레임 워크에 사용할 수없는 것을 주목해야한다. 공식 웹 사이트 주소 아래 첨부

URL : https://pagehelper.github.io/

단계를 사용합니다

2.1 수입 의존

<dependency>
   <groupId>com.github.pagehelper</groupId>
   <artifactId>pagehelper</artifactId>
   <version>1.2.3</version>
 </dependency>

2.2 구성의 MyBatis 프로파일 추가

<!--sqlSessionFactory-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="typeAliasesPackage" value="cn.test.domain"/>
        <property name="plugins">
            <array>
                <bean class="com.github.pagehelper.PageInterceptor">
                    <property name="properties">
                        <!--使用下面的方式配置参数,一行配置一个 -->
                        <value>
                            params=mysql
                        </value>
                    </property>
                </bean>
            </array>
        </property>
    </bean>

해상도 :

빨간 부분이 구성되어 pagehelp 내가 MySQL은 여기에 사용, 데이터베이스의 종류에 따라 구성 파란색 상자 섹션을 위젯. 그래서 구성params=mysql

코드 2.3

사용 PageHelper.startPage정적 메서드 호출을

// PageInfo等同于我们自定义的pageBean 并且比pageBean更完善
public PageInfo<User> findByPage(Integer page, Integer pageSize) {
   PageHelper.startPage(page,pageSize);  //使用分页插件 一定要紧跟一个查询方法
   List<User> list = userDao.findAll(); //表面上是查询所有,但是执行时已经分页了
   return new PageInfo<Company>(list,5);
}

해결

2.4 PageInfo 개체 설명

이 플러그인 반환 PageInfo 객체를 사용하여,의는의 특성을 분석 할 수 있습니다 :

public class PageInfo<T> implements Serializable {
   private static final long serialVersionUID = 1L;
   //当前页
   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 prePage;
   //下一页
   private int nextPage;
 
   //是否为第一页
   private boolean isFirstPage = false;
   //是否为最后一页
   private boolean isLastPage = false;
   //是否有前一页
   private boolean hasPreviousPage = false;
   //是否有下一页
   private boolean hasNextPage = false;
   //导航页码数
   private int navigatePages;
   //所有导航页号
   private int[] navigatepageNums;
   //导航条上的第一页
   private int navigateFirstPage;
   //导航条上的最后一页
   private int navigateLastPage;

}

추천

출처www.cnblogs.com/changchangchang/p/12021895.html