一:导入依赖
<!-- mybatis分页插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
二:在applicationContext.xml中的sqlSessionFactory里面配置插件对象
<!--把mybatis的活交给spring来管理 交给IOC SqlSessionFactory-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- 传入PageHelper的插件 -->
<property name="plugins">
<array>
<!-- 传入插件的对象 -->
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<props>
<prop key="helperDialect">mysql</prop>
<prop key="reasonable">true</prop>
</props>
</property>
</bean>
</array>
</property>
</bean>
三:在方法前调用
public List<Order> findAllOrder(int page,int size) throws Exception {
/*
PageHelper是分页插件 导入依赖后可用 必须写在方法执行前才有效
参数page 是 页码值 size 代表每页显示条数
* */
PageHelper.startPage(page,size);
return orderDao.findAllOrder();
}
Controller层
//查询订单 带分页功能
@RequestMapping("/findAllOrder")
public ModelAndView findAllOrder(@RequestParam(name = "page",required = true,defaultValue = "1")int page,
@RequestParam(name = "size",required = true,defaultValue = "5")int size) throws Exception {
ModelAndView mv = new ModelAndView();
List<Order> allOrder = orderService.findAllOrder(page,size);
//PageInfo就是一个分页bean
PageInfo pageInfo = new PageInfo(allOrder);
mv.addObject("pageInfo",pageInfo);
mv.setViewName("orders-pageHelper-list");
return mv;
}
他会自动将分页的信息封装在PageInfo对象中