zoukankan      html  css  js  c++  java
  • SSM框架三分钟搞定分页查询

    使用的国产第三方jar   pagehelper

    里面的基本属性值

     //当前页
        private int pageNum;
        //每页的数量
        private int pageSize;
        //当前页的数量
        private int size;
    
        //由于startRow和endRow不常用,这里说个具体的用法
        //可以在页面中"显示startRow到endRow 共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;
    View Code

    1.首先在mybatis配置文件中配置把 对象交给容器处理

      <!-- 把交给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>
    View Code

    2.页面 这里我使用的jsp把页码的参数设置一下

    <%--page=1&size=4  分页查询--%>
    href="${pageContext.request.contextPath}/orders/findAll.do?page=1&size=4">

    3. web层 把你设置的 开始页码1,每页显示条数4 以参数形式传递给方法(部分代码)  注意int 改为integer 要不然容易报错!!!!

     /*name=请求参数名(必须配置)
        * required = 是否必需,默认为 true,即 请求中必须包含该参数,如果没有包含,将会抛出异常(可选配置)
        * defaultValue= 参数的默认值
         * */
        public ModelAndView  findAll(@RequestParam(name = "page",required = true,defaultValue = "1") int page,@RequestParam(name = "size",required = true,defaultValue = "4") int size){
            ModelAndView mv=new ModelAndView();
            List<Orders> orders = service.findAll(page,size);
            //PageInfo就是分页的bean
            PageInfo pageInfo=new PageInfo(orders);
            mv.addObject("pageInfo",pageInfo);
            mv.setViewName("orders-page-list");
            return mv;
        }
    View Code

    4.修改前端展示页面的 数据,因为你查询的数据被封装到了对象pageInfo的 list中

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

    5.在service层 dao方法加上以下

     //使用了 第三方的分页依赖,  哪个方法分页在上面写上一下语句
            PageHelper.startPage(page,size);

     http://git.oschina.net/free/Mybatis_PageHelper  jar下载地址

     

  • 相关阅读:
    01-时间复杂度、对数器(python)、冒泡、选择、递归实质、归并、小和问题、逆序对、mid
    2017.07.07 IT项目管理笔记整理 第八章 软件项目质量管理
    2017.07.07 IT项目管理笔记整理 第七章 软件项目资源管理
    2017.07.07 IT项目管理笔记整理 第六章软件项目配置管理
    2017.07.06 IT项目管理笔记整理 第五章软件项目风险管理
    2017.07.06 IT项目管理笔记整理 第四章软件项目进度管理
    2017.07.06 IT项目管理笔记整理 第三章软件项目成本管理
    2017.07.06 IT项目管理笔记整理 第二章软件项目需求管理
    2017.06.29数据挖掘基础概念第十,十一章
    2017.06.29数据挖掘基础概念第六,八,九章
  • 原文地址:https://www.cnblogs.com/july7/p/11953797.html
Copyright © 2011-2022 走看看