导入jar包
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
整合到ssm
<!-- spring mybatis的配置文件(spring-dao.xml) -->
<!-- 配置SqlSessionFactory对象 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 注入数据库连接池 -->
<property name="dataSource" ref="dataSource"></property>
<!-- 配置MyBaties全局配置文件:mybatis-config.xml -->
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
<!-- 扫描entity包 使用别名 -->
<property name="typeAliasesPackage" value="com.sqtg.entity"></property>
<!-- 扫描sql配置文件:mapper需要的xml文件 -->
<property name="mapperLocations" value="classpath:mapper/*.xml"></property>
<!-- mybatis插件 -->
<property name="plugins">
<set>
<!-- pageHelper 分页插件 -->
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<props>
<!-- 设置数据库类型:-->
<prop key="helperDialect">mysql</prop>
</props>
</property>
</bean>
</set>
</property>
</bean>
实际使用
PageHelper的使用非常的简单方便,我们不需要再关注分页的语句,直接在需要分页的查询语句上方加入PageHelper.startPage(pageNum, pageSize)
就可以自动分页。
//package com.sqtg.service.impl;
public Map<String, Object> getGoodsList(Goods goods, Integer pageNum, Integer pageSize){
//数据分页
PageHelper.startPage(pageNum, pageSize);
//查询数据
List<Goods> list = gm.getGoodsList(goods);
//分页信息(总条数、总页数、当前页数...)
PageInfo<Goods> pageInfo = new PageInfo<Goods>(list);
Map<String, Object> goodsMap = new HashMap<String, Object>();
goodsMap.put("list", list);
goodsMap.put("total", pageInfo.getTotal());
goodsMap.put("pages", pageInfo.getPages());
goodsMap.put("pageNum", pageInfo.getPageNum());
goodsMap.put("pageSize", pageInfo.getPageSize());
return goodsMap;
}