PageHelper使用

推荐使用 Maven 方式
在这里插入图片描述

1.在 pom.xml 中添加如下依赖:

<dependency>    
	<groupId>com.github.pagehelper</groupId>    
	<artifactId>pagehelper</artifactId>   
	 <version>最新版本</version> 
 </dependency>

2.在 Spring 配置文件中配置拦截器插件

使用 spring 的属性配置方式,可以使用 plugins 属性像下面这样配置:

   <!-- 把交给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">oracle</prop>
                            <prop key="reasonable">true</prop>
                        </props>
                    </property>
                </bean>
            </array>
        </property>
    </bean>

3.在真正执行sql前,使用PageHelper来完成分页

PageHelper.startPage 静态方法调用。紧跟在这个方法后的第一个MyBatis 查询方法会被进行分页。

@service
//获取第1页,10条内容,默认查询总数count 
	PageHelper.startPage(1, 10); 
//紧跟着的第一个select方法会被分页 
	List<Country> list = countryMapper.selectIf(1);
 

分页插件参数介绍

在这里插入图片描述

分页查询订单

  • Service
@Override 
public List<Orders> findAllByPage(int page, int pageSize) throws Exception {       
 PageHelper.startPage(page, pageSize);        
 return ordersDao.findAllByPage(); 
 }
  • Controller
    //查询全部订单---未分页
//    @RequestMapping("/findAll.do")
//    public ModelAndView findAll() throws Exception {
//        ModelAndView mv = new ModelAndView();
//        List<Orders> ordersList = ordersService.findAll();
//        mv.addObject("ordersList", ordersList);
//        mv.setViewName("orders-list");
//        return mv;
//    }

    @RequestMapping("/findAll.do")
    public ModelAndView findAll(@RequestParam(name = "page", required = true, defaultValue = "1") int page, @RequestParam(name = "size", required = true, defaultValue = "4") int size) throws Exception {
        ModelAndView mv = new ModelAndView();
        List<Orders> ordersList = ordersService.findAll(page, size);
        //PageInfo就是一个分页Bean
        PageInfo pageInfo=new PageInfo(ordersList);
        mv.addObject("pageInfo",pageInfo);
        mv.setViewName("orders-page-list");
        return mv;
    }

页面

href="${pageContext.request.contextPath}/orders/findAll.do?page=1&size=4">
  • orders-page-list
${pageInfo.list}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值