ssm使用pageHelper分页插件

pageHelper不同版本的配置是有区别的, 源码中类和依赖在不同版本中有较大变化.

一  需要下载的资源

1.  以下我使用的spring/springmvc版本3.2.XX, mybaits版本是3.1.X

2.  pageHelper版本是5.1.4 下载可以上maven仓库下载:http://mvnrepository.com/artifact/com.github.pagehelper/pagehelper

     也可以自行在maven仓库搜索com.github.pageHelper, 查找需要的版本

     pageHelper的源码git地址: https://github.com/pagehelper/Mybatis-PageHelper

3. pageHelper由于使用了sql解析工具,还需要下载jsqlparser.jar

      4.1.0及以后版本需要0.9.4版本: http://repo1.maven.org/maven2/com/github/jsqlparser/jsqlparser/0.9.4/ 
      4.1.0以前版本需要0.9.1版本: http://repo1.maven.org/maven2/com/github/jsqlparser/jsqlparser/0.9.1/

      这里下载的是0.9.4版本, 版本错误也会出现报错

二 applicationContext.xml配置

    
    
           
         
		    
		      
				
                    
                    
                          helperDialect=mysql
                          reasonable=true
                          supportMethodsArguments=true
                          params=count=countSql
                          autoRuntimeDialect=true
                    
                
		      
		    
		  
    

参数含义见github上的文档: https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md

三 ServiceImpl中使用

public class MemberServiceImpl implements MemberService {
	@Autowired
	MemberMapper memberMapper;
	public List> list() {
		PageHelper.startPage(0,10);   //这里设置分页的当前页和每页的数量, pagehelper会自动在sql语句中加入limit
		List> list = memberMapper.list();
		return list;
	}

}

如果同时需要返回当前页信息(页码, 条数等), 需要使用PageInfo类, 该类在不同pageHelper中有所差别, 这里适用5.1.4

public class MemberServiceImpl implements MemberService {
	@Autowired
	MemberMapper memberMapper;
	public PageInfo list() {  //注意这边返回的类型变为了PageInfo
		// TODO Auto-generated method stub
		PageHelper.startPage(0,10);  
		List> list = memberMapper.list();
		PageInfo pageInfo = new PageInfo(list);  //将sql查询结果list传递过去
		return pageInfo; 
	}

}

page信息在pageInfo中:

PageInfo类中变量详见github文档:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md

四  Mapper的class和xml

Mapper中的内容按原先的写, 注意sql语句末尾不要带分号, pageHelp会自动使用limit分段查询, 并控制页码和查询总数

 

以上是粗浅的配置和使用, 之后会继续深入理解

你可能感兴趣的:(java,ssm)