一、编写dao及配置文件

(1)配置文件两种方式

第一种:

  1. <!--SqlSeesionFactoryBean对象-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource"></property>
    <!--mybatis分页助手相关配置-->
    <property name="plugins">
    <array>
    <bean class="com.github.pagehelper.PageInterceptor">
    <property name="properties">
    <props>
    <!-- 分页的相关配置参数 用哪个数据库-->
    <prop key="helperDialect">mysql</prop>
    </props>
    </property>
    </bean>
    </array>
    </property>
    </bean>
    第二种:配置文件的方式
  1. <!--SqlSeesionFactoryBean对象-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource"></property>
  1. //引入外部配置文件
    <property name="configLocation" value="classpath:sqlMapConfig.xml">
  1. //外部配置文件:sqlMapConfig.xml
  1. <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
    <plugins>
    <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
    </plugins>
    </configuration>
  1. </bean>
  1. 2//分页查询
    @Select("select * from (SELECT *,(@rowNum:=@rowNum+1) as rowNo FROM orders,(Select (@rowNum :=0) ) b) " +
    "res where rowNo>=#{param1} and rowNo<=#{param2}")
    public List<Orders> findByProduct(Integer currPage,Integer pageSize);
    二、编写service及实现类
    1service
  1. //分页助手分页
    public PageInfo<Orders> FindByPageHelper(Integer currPage, Integer pageSize);
    2)实现类
  1. @Override
    public PageInfo<Orders> FindByPageHelper(Integer currPage, Integer pageSize) {
    //指定分页的参数
    PageHelper.startPage(currPage,pageSize);
    //查询全部
    List<Orders> ordersList = ordersDao.findAll();
    //创建pageInfo对象
    PageInfo<Orders> pageInfo = new PageInfo<>(ordersList);//第二个参数是底部显示分页数量
    return pageInfo;
    }
    三、编写controller
  1. / 分页助手分页
    // PageHelper 分页助手查询 value 指定页面参数的名称 required 是否必要有参数
    @RequestMapping("/findAll")
    public ModelAndView findAll(@RequestParam(value = "currPage",defaultValue = "1") Integer currPage,
    @RequestParam(value = "pageSize",required = false,defaultValue = "5") Integer pageSize){
    //获取数据
    PageInfo<Orders> pageInfo = ordersService.FindByPageHelper(currPage, pageSize);
    // 创建modelAndView对象
    ModelAndView modelAndView = new ModelAndView();
    //添加数据
    modelAndView.addObject("pageInfo",pageInfo);
    //指向页面
    modelAndView.setViewName("order-list");
    return modelAndView;
    }
    四、编写web文件
  1. <c:forEach items="${pageInfo.list}" var="orders"></c:forEach>(遍历数据库数据)
    分页:
  1. <div class="box-footer">
    <div class="pull-left">
    <div class="form-group form-inline">
    总共${pageInfo.pages} 页,共${pageInfo.total}条数据。 每页
    <select class="form-control" onchange="gotoPage(1)" id="pageSize">
    <option value="2">2</option>
    <option value="5" selected="selected">5</option>
    <option value="10">10</option>
    </select>
    </div>
    </div>
  2.  
  3. <div class="box-tools pull-right">
    <%--在超链接中访问js函数 必须添加前缀 javascript--%>
    <ul class="pagination">
    <li><a href="javascript:gotoPage(1)" aria-label="Previous">首页</a></li>
    <li><a href="javascript:gotoPage(${pageInfo.prePage})">上一页</a></li>
    <c:forEach begin="${pageInfo.navigateFirstPage}" end="${pageInfo.navigateLastPage}" var="i">
    <li><a href="javascript:gotoPage(${i})">${i}</a></li>
    </c:forEach>
    <li><a href="javascript:gotoPage(${pageInfo.nextPage})">下一页</a></li>
    <li><a href="javascript:gotoPage(${pageInfo.pages})" aria-label="Next">尾页</a></li>
    </ul>
    </div>
  4.  
  5. </div>
  1. <script type="text/javascript">
    // 分页
    $("#pageSize option[value=${pageInfo.pageSize}]").prop("selected","selected");
    function gotoPage(currPage) {
    //获取每页显示条数
    var pageSize=$("#pageSize").val();
    if(currPage<1){
    return;
    }
    if(currPage>${pageInfo.pages}){
    return;
    }
    location.href="${pageContext.request.contextPath}/orders/findAll?currPage="+currPage+"&pageSize="+pageSize;
    }
    </script>

mybatis分页助手分页的更多相关文章

  1. 九:SpringBoot-整合Mybatis框架,集成分页助手插件

    九:SpringBoot-整合Mybatis框架,集成分页助手插件 1.Mybatis框架 1.1 mybatis特点 1.2 适用场景 2.SpringBoot整合MyBatis 2.1 核心依赖 ...

  2. Mybatis Generator实现分页功能

    Mybatis Generator实现分页功能 分类: IBATIS2013-07-17 17:03 882人阅读 评论(1) 收藏 举报 mybatisibatisgeneratorpage分页 众 ...

  3. SpringBoot+Mybatis配置Pagehelper分页插件实现自动分页

    SpringBoot+Mybatis配置Pagehelper分页插件实现自动分页 **SpringBoot+Mybatis使用Pagehelper分页插件自动分页,非常好用,不用在自己去计算和组装了. ...

  4. SpringBoot+Mybatis+PageHelper实现分页

    SpringBoot+Mybatis+PageHelper实现分页 mybatis自己没有分页功能,我们可以通过PageHelper工具来实现分页,非常简单方便 第一步:添加依赖 <depend ...

  5. SpringBoot集成Mybatis并具有分页功能PageHelper

    SpringBoot集成Mybatis并具有分页功能PageHelper   环境:IDEA编译工具   第一步:生成测试的数据库表和数据   SET FOREIGN_KEY_CHECKS=0;   ...

  6. 【spring boot】14.spring boot集成mybatis,注解方式OR映射文件方式AND pagehelper分页插件【Mybatis】pagehelper分页插件分页查询无效解决方法

    spring boot集成mybatis,集成使用mybatis拖沓了好久,今天终于可以补起来了. 本篇源码中,同时使用了Spring data JPA 和 Mybatis两种方式. 在使用的过程中一 ...

  7. Mybatis的PageHelper分页插件的PageInfo的属性参数,成员变量的解释,以及页面模板

    作者:个人微信公众号:程序猿的月光宝盒 //当前页 private int pageNum; //每页的数量 private int pageSize; //当前页的数量 private int si ...

  8. 小白的springboot之路(十五)、mybatis的PageHelper分页插件使用

    0.前言 用mybatis,那么分页必不可少,基本都是用PageHelper这个分页插件,好用方便: 1.实现 1.1.添加依赖: <!-- 3.集成 mybatis pagehelper--& ...

  9. 分页助手PageHelper学习

    PageHelper是mybatis的通用分页插件,通过mybatis的拦截器实现分页功能,拦截sql查询请求,添加分页语句, 最终实现分页查询功能.在 springboot上集成pagehelper ...

随机推荐

  1. SpringCloud-Hystrix 服务降级、熔断

    Hystrix 是什么? Hystrix 是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时.异常等,Hystrix 能够保证在一个依赖出问题的情况下 ...

  2. 十分钟搞懂Elasticsearch数字搜索原理

    更多精彩内容请看我的个人博客或者扫描二维码,关注微信公众号:佛西先森 前言 Elasticsearch诞生的本意是为了解决文本搜索太慢的问题,ES会默认将所有的输入内容当作字符串来理解,对于字段类型是 ...

  3. 开发一款图片压缩工具(三):使用 click 实现命令行

    上一篇实现了图片的压缩函数.现在如果需要对图片进行压缩,可以调用实现的函数进行压缩: pngquant_compress('elephant.png', force=True, quality=20) ...

  4. 如何给 Inno Setup 生成的安装包添加版本信息

    使用 Inno 已有的函数 GetFileVersion 获取 EXE 文件的版本 #define ApplicationName 'Application Name' #define Applica ...

  5. Codeforces Round #628 (Div. 2) 题解

    人闲桂花落,夜静春山空. 月出惊山鸟,时鸣春涧中.--王维 A. EhAb AnD gCd You are given a positive integer x. Find any such 2 po ...

  6. Gym 101194D Ice Cream Tower

    被一道数位DP折磨得欲仙欲死之后,再做这道题真是如同吃了ice cream一样舒畅啊 #include<bits/stdc++.h> using namespace std; #defin ...

  7. 【Linux常见命令】vimdiff命令

    在类nuix平台,我们希望对文件之间的差异之间快速定位,希望能够很容易的进行文件合并……. 可以使用Vim提供的diff模式,通常称作vimdiff,就是这样一个能满足所有这些需求,甚至能够提供更多的 ...

  8. CodeForces-1058B B. Vasya and Cornfield

    这题,我真的不知道题解是啥,自己看代码吧. #include<iostream> using namespace std; int main() { int n, d,m,i,x,y; c ...

  9. 数据结构--链式栈--C++实现

    #include <iostream> using namespace std; template<class T>class Stack { private: struct ...

  10. Nginx模块开发(4)————使用subrequest访问第三方服务

    该模块可以完成如下的功能,当我们输入http://你的ip/lcw?s_sh000001时,会使用subrequest方式得到新浪服务器上的上证指数,代码如下: //start from the ve ...