基于ssm的pagehelper分页操作
1,导入pagehelper依赖
<dependency> <groupId>com.github.pagehelpergroupId> <artifactId>pagehelperartifactId> <version>5.1.2version> <scope>compilescope> dependency>
2,配置application.xml
在创建完DataSource对象的bean后,创建sessionfactory对象的时候添加上pagehelper插件
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations" value="classpath:mapper/*.xml"/>
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<value>
helperDialect=mysql
value>
property>
bean>
array>
property>
bean>
3,编写分页查询的接口
/** * 分页查询 * @param page * @param rows * @return */ @RequestMapping("/listPage") @ResponseBody //转换为json对象 public MaplistPage(Integer page,Integer rows){ //设置分页的参数 PageHelper.startPage(page,rows); //查询所有数据 List list = customerService.findAll(); //使用pageinfo封装我们查询类型的结果 PageInfo pageInfo = new PageInfo<>(list); //从pageinfo对象取出查询 //总记录数 long total = pageInfo.getTotal(); //当前页数据的列表 List cuslist = pageInfo.getList(); result.put("total",total); result.put("rows",cuslist); return result; }
步骤:
-
创建方法,传入参数(Integer page,Integer rows))page当前页码,rows:一页返回多少条数据;
-
设置分页的参数;
-
查询所有数据;
-
使用pageinfo封装我们查询类型的结果
-
从pageinfo对象取出查询
-
添加相应的参数,total:总记录数、cuslist:当前数据
-
最后返回结果
-