ssm使用pageHelper分页插件

3 篇文章 0 订阅

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配置

    <!-- myBatis文件 -->
    <bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
           <!--这里省略了一些个人的mysql配置-->
         <property name="plugins">
		    <array>
		      <bean class="com.github.pagehelper.PageInterceptor">
				<property name="properties">
                    <!--使用下面的方式配置参数,一行配置一个,全部加进去,不然会报错, 旧版本是Dialect, 现在版本改成了helperDialect -->
                    <value>
                          helperDialect=mysql
                          reasonable=true
                          supportMethodsArguments=true
                          params=count=countSql
                          autoRuntimeDialect=true
                    </value>
                </property>
		      </bean>
		    </array>
		  </property>
    </bean>

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

三 ServiceImpl中使用

public class MemberServiceImpl implements MemberService {
	@Autowired
	MemberMapper memberMapper;
	public List<Map<String, Object>> list() {
		PageHelper.startPage(0,10);   //这里设置分页的当前页和每页的数量, pagehelper会自动在sql语句中加入limit
		List<Map<String, Object>> 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<Map<String, Object>> 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分段查询, 并控制页码和查询总数

 

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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值