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下载地址

 

 

 

posted @ 2019-11-28 21:15  三只坚果  阅读(716)  评论(0编辑  收藏  举报