pom.xml 中添加 pagehelper 依赖
<!--pagehelper-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
mybaties中进行相关配置
@Bean(name = "majorSqlSessionFactory")
@Primary
public SqlSessionFactory majorSqlSessionFactory(@Qualifier("majorDataSource") DataSource dataSource) throws Exception {
SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource);
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:mybatis/**/mybatis-*.xml"));
PageInterceptor pageInterceptor = new PageInterceptor();
Properties properties = new Properties();
properties.setProperty("helperDialect", JhkjStringUtil.getDbType(env!=null ? env.getProperty("jdbc.major.driverClassName") : ""));
properties.setProperty("reasonable", "true");
properties.setProperty("supportMethodsArguments", "true");
properties.setProperty("params", "count=countSql");
pageInterceptor.setProperties(properties);
sessionFactory.setPlugins(new Interceptor[]{pageInterceptor});
return sessionFactory.getObject();
}
创建分页对象pagebean
package com.epsoft.gas.core.bean;
import java.io.Serializable;
/**
* 接收分页的参数Bean
* @author admin
*
*/
public class PageBean implements Serializable{
private static final long serialVersionUID = 5600543687644637513L;
//当前页
private int pageNum = 0;
//每页的数量
private int pageSize = 20;
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) {
this.pageNum = pageNum;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
@Override
public String toString() {
return "PageBean [pageNum=" + pageNum + ", pageSize=" + pageSize + "]";
}
}
前端调用(iview为例)
<Page class="pager" :total="totalSize" :current="page" :page-size="pageSize" @on-change="pageNum" @on-page-size-change="pageSizeChange" show-sizer></Page>
controller调用
@RequestMapping("/getAll")
public RetData<PageInfo<Message>> getAllMessage(PageBean PageBean) throws Exception {
RetData<PageInfo<Message>> retData = new RetData<PageInfo<Message>>();
PageHelper.startPage(PageBean);
List<Message> msgList = messageBPO.selectList(new Message());
if( msgList== null ){
msgList=new ArrayList<>();
}
PageInfo<Message> msgListPageInfo = new PageInfo<>(msgList);
retData.setRetBody(msgListPageInfo);
return retData;
}