mybatis 让分页更加简单 PageHelper

PageHelper是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库,例 
如mysql、oracle、mariaDB、DB2、SQLite、Hsqldb等。 
本项目在 github 的项目地址:https://github.com/pagehelper/Mybatis-PageHelper
本项目在 gitosc 的项目地址:http://git.oschina.net/free/Mybatis_PageHelper

 

引入jar包

你可以从下面的地址中下载最新版本的 jar 包 

https://oss.sonatype.org/content/repositories/releases/com/github/pagehelper/pagehelper/
http://repo1.maven.org/maven2/com/github/pagehelper/pagehelper/ 

由于使用了sql 解析工具,你还需要下载 jsqlparser.jar: 
http://repo1.maven.org/maven2/com/github/jsqlparser/jsqlparser/0.9.5/  

 

搭建步骤

pom文件


		
		    com.github.pagehelper
		    pagehelper
		    5.0.0
		

 

插件配置

在 MyBatis 配置 xml 中配置拦截器插件



    
    
        
        
    


在 Spring 配置文件中配置拦截器插件 


  
  
    
      
        
          
                       params=value1
          
        
           
  

 零配置方案配置拦截器

@Bean
    public SqlSessionFactoryBean getSqlSessionFactoryBean(DataSource da) {
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(da);

        //设置分页的拦截器
        PageInterceptor pageInterceptor = new PageInterceptor();
        //创建插件需要的参数集合
        Properties properties = new Properties();
        //配置数据库方言 为oracle
        properties.setProperty("helperDialect", "oracle");
        //配置分页的合理化数据
        properties.setProperty("reasonable", "true");
        pageInterceptor.setProperties(properties);
        //将拦截器设置到sqlSessionFactroy中
        sqlSessionFactoryBean.setPlugins(new Interceptor[] {pageInterceptor});

        return sqlSessionFactoryBean;
    }

使用方法

@Override
public List selectByPage(Integer pageNo, Integer pageSize) {
		if (pageSize == null) pageSize = 5;
		if (pageNo == null) {
			pageNo = 1;	
		}
// 重点是这句代码
        PageHelper.startPage(pageNo, pageSize);

		List list = classMapper.selectByPage();
 		return list;
}

PageHelper使用总结 
PageHelper使用只需要三步 
1.导入jar包(maven工程直接引入对应坐标)

2.配置插件给mybaitis(和spring整合后,可以直接将插件属性配置给sqlsessinoFactoryBean,),配置好后工厂在创建sqlSession时候会为我们载入配置

3.使用时调用方法,常见方式是,在service中,执行dao查询对应查询方法之前,调用分页的静态方法PageHelper.startPage
 

分页插件其他方法使用介绍

https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md

 

 

 

你可能感兴趣的:(mybatis)