PageHelper分页

一、PageHelper介绍

      PageHelper是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库;

二、PaheHelper的使用

      1.集成方式:Maven方式

 <dependency>    
       <groupId>com.github.pagehelpergroupId>    
        <artifactId>pagehelperartifactId>    
        <version>最新版本version>
 dependency>

       2.配置

            1)在spring中配置文件中的sqlSessionFactoryBean的配置中配置拦截器插件


    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
          <property name="dataSource" ref="dataSource"/>
        
        <property name="plugins">
            <array>
                
                <bean class="com.github.pagehelper.PageInterceptor">
                    <property name="properties">
                        <props>
                            <prop key="helperDialect">oracleprop>
                            <prop key="reasonable">trueprop>
                        props>
                    property>
                bean>
            array>
        property>
    bean>

              2)配置介绍

               helperDialect:分页插件会自动检测当前的数据库链接,自动选择合适的分页方式;

               reasonable::分页合理化参数,默认值为 false 。当该参数设置为 true 时, pageNum<=0 时会查询第一 页, pageNum>pages (超过总数时),会查询最后一页。默认 false 时,直接根据参数进行查询。 

        3.基本使用

           1) PageHelper.startPage 静态方法调用

                  *   在你需要进行分页的 MyBatis 查询方法前调用PageHelper.startPage 静态方法即可,紧 跟在这个方法后的第一个MyBatis 查询方法会被进行分页。

//使用PageHelper指定从第几页开始,一页显示多少个
        PageHelper.startPage(1,5);
        return ordersDao.findAll();

         4.使用案例:

              1)Service:                

public List findAll(int page, int size) throws Exception {
        //使用PageHelper指定从第几页开始,一页显示多少个
        PageHelper.startPage(page,size);
        return ordersDao.findAll();

    }

            2)  Controller   

public ModelAndView findAll(@RequestParam(name="page",required = true,defaultValue = "1") Integer page,
                                @RequestParam(name="size",required = true,defaultValue = "4") Integer size) throws Exception {
        ModelAndView mv=new ModelAndView();
        List orderList =ordersService.findAll(page,size);
        //PageInfo分页管理的bean
        PageInfo pageInfo=new PageInfo(orderList);
        mv.addObject("pageInfo",pageInfo);
        mv.setViewName("orders-list");
        return mv;
    }

         3) 去页面设置相应的分页参数。

你可能感兴趣的:(PageHelper分页)