TZ_09_MyBatis的pageHelper

Posted asndxj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TZ_09_MyBatis的pageHelper相关的知识,希望对你有一定的参考价值。

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的主要内容,如果未能解决你的问题,请参考以下文章

pyinstaller .exe 找不到“dateutil.tz.__init__.tz”

如何使用gsutil删除gcs中的多个文件,除了1

TZ_16_Vue_入门案例

TZ_14_Zuul网关_过滤器

TZ_06_SpringMVC_拦截器的配置

TZ_16_Vue定义全局组件和局部组件