SpringBoot中 pagehelper插件使用

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;
    }

猜你喜欢

转载自blog.csdn.net/Ithao2/article/details/83862870