<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.2</version> </dependency>
<!--3.建立sqlSessionFactory--> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <!--配置mybatis 插件--> <property name="plugins"> <set> <!--配置pageHelper 分頁插件--> <bean class="com.github.pagehelper.PageInterceptor"> <property name="properties"> <props> <!--方言:--> <prop key="helperDialect">mysql</prop> </props> </property> </bean> </set> </property> </bean>
使用PageHelper.startPage 靜態方法調用startPage :
特色:
1. 靜態方法,傳遞兩個參數(當前頁碼,每頁查詢條數)
2. 使用pageHelper 分頁的時候,再也不關注分頁語句,查詢所有的語句
3. 自動的對PageHelper.startPage 方法下的第一個sql 查詢進行分頁
PageHelper.startPage(1,5);
//緊跟着的第一個select 方法會被分頁
List<Country> list = countryMapper.findAll();mysql
也就是說再Service層PageHelper.startPage(1,5);語句後必定是緊跟查詢語句。git
Service層示例代碼github
public PageInfo findPage(int page,int pageSize){ PageHelper.startPage(page,pageSize); List<Company> List=companyDao.selectAll(); PageInfo pageInfo = new PageInfo(list); return pageInfo; }
返回的信息就是pageInfo對象,該類是插件裏的類,這個類裏面的屬性仍是值得看一看spring
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; 傳智播客——專一於Java、.Net 和Php、網頁平面設計工程師的培訓 北京市昌平區建材城西路金燕龍辦公樓一層電話:400-618-9090 //全部導航頁號 private int[] navigatepageNums; //導航條上的第一頁 private int navigateFirstPage; //導航條上的最後一頁 private int navigateLastPage; }
在jsp頁面中的取值根據PageInfo中的get方法,使用EL表達式取出保存的值。sql