码迷,mamicode.com
首页 > 其他好文 > 详细

TZ_09_MyBatis的pageHelper

时间:2019-08-26 19:20:04      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:return   enum   findall   name   pre   intercept   last   扫描   ack   

1..分页操作使用MyBatis的PageHelper

  1>导入pageHelper的坐标

         <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>5.1.2</version>
        </dependency>                

 

 

2>在applicationContext.xml的 sqlSessionFactory 中配置Pagehelper

<!--配置生产SqlSession对象的工厂 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <!--扫描pojo包,给包下所有pojo对象起别名 -->
        <property name="typeAliasesPackage" value="com.hdh.domain" />
        
        <!-- 传入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>

 

 3>在业务层调用分页方法传入页数和每页的记录数

public List<Orders> findAllOrders(int page,int size) {
        
        PageHelper.startPage(page, size);
         List<Orders> orders=orderDao.findAllOrders();
        return orders;
    }

 

4.在数据返回页面之前将数据封装到PageInfo 中

    PageInfo pageInfo = new PageInfo(ordersList);
    mode.addObject("pageInfo", pageInfo);

    并且在页面中遍历时放入PageInfo的数据拿出来时应.list

              <c:forEach items="${pageInfo.list}" var="orders">

5.常用的pageHelper属性

  //当前页
    private int pageNum;
    //每页的数量
    private int pageSize;
    //当前页的数量
    private int size;
//当前页面第一个元素在数据库中的行号
    private int startRow;
    //当前页面最后一个元素在数据库中的行号
    private int endRow;
    //总记录数
    private long total;
    //总页数
    private int pages;
    //结果集
    private List<T> list;

    //前一页
    private int prePage;
    //下一页
    private int nextPage;

    //是否为第一页
    private boolean isFirstPage = false;
    //是否为最后一页
    private boolean isLastPage = false;
    //是否有前一页
    private boolean hasPreviousPage = false;
    //是否有下一页
    private boolean hasNextPage = false;
    //导航页码数
    private int navigatePages;
    //所有导航页号
    private int[] navigatepageNums;
    //导航条上的第一页
    private int navigateFirstPage;
    //导航条上的最后一页
    private int navigateLastPage;

 

TZ_09_MyBatis的pageHelper

标签:return   enum   findall   name   pre   intercept   last   扫描   ack   

原文地址:https://www.cnblogs.com/asndxj/p/11414299.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!