一、编写dao及配置文件

(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>
第二种:配置文件的方式
<!--SqlSeesionFactoryBean对象-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
//引入外部配置文件
<property name="configLocation" value="classpath:sqlMapConfig.xml">
//外部配置文件:sqlMapConfig.xml
<?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>
</bean>
(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及实现类
(1)service
//分页助手分页
public PageInfo<Orders> FindByPageHelper(Integer currPage, Integer pageSize);
(2)实现类
@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
/    分页助手分页
// 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文件
<c:forEach items="${pageInfo.list}" var="orders"></c:forEach>(遍历数据库数据)
分页:
<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> <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> </div>
<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. Redis 5.0.9 安装

    目录 系统环境 系统版本 内核版本 安装步骤 安装 gcc 依赖 下载 Redis 解压 Redis 切换到 redis 解压目录下,执行编译 指定目录安装 启动 Redis 服务 最后 系统环境 系 ...

  2. c++使用cin、cout与c中使用scanf、printf进行输入输出的效率问题

    在c++中,我们使用cin和cout进行输入输出会比用scanf和printf更加简洁和方便,但是当程序有大量IO的时候,使用cin和cout进行输入输出会比用scanf和printf更加耗时, 在数 ...

  3. CountDownLatch/CyclicBarrier/Semaphore

    CountDownLatch 概念 让一些线程阻塞直到另一些线程完成一系列操作才被唤醒 CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,调用线程就会被阻塞.其它线程调 ...

  4. sql注入notebook

    内容来自: https://ca0y1h.top/ 联合查询注入 使用场景 页面上有显示位 什么是显示位:在一个在一个网站的正常页面,服务端执行SQL语句查询数据库中的数据,客户端将数据展示在页面中, ...

  5. Service Location Protocol SLP

    https://www.ibm.com/developerworks/cn/linux/l-slp/ 服务发现(service discovery) 是在网络环境中发现必须使用的服务的能力.例如,如果 ...

  6. JDK11的重要新特性

    文章目录 JDK11发布啦 Oracle不再提供JRE和Server JRE下载 删除部署工具 JavaFX不再包含在JDK中 删除Java EE和CORBA模块 JDK11发布啦 JDK11 在20 ...

  7. vue-cli3.0 gui初体验

    为什么80%的码农都做不了架构师?>>>   介绍 新版的vuecli3.0提供了一个vue ui这个命令,这个命令是做什么的呢,这里引用官网的一段介绍 vue ui 你可以通过 v ...

  8. SQL SERVER 性能优化二: 数据库初始值大小及增长方式设置

    数据库增长方式主要有两种,按百分比自动增长和按固定大小自动增长,设置初始大小和增长方式需谨慎. 初始大小就是建库的大小,设小了,容易造成磁盘碎片,频繁增长也会影响IO响应.设大了,也不行,设大了,每次 ...

  9. Egg Dropping Puzzle

    The Two Egg Problem 曾经是Google的一道经典题. 题意:有一个百层高楼,鸡蛋在\(L\)层及以下扔都不碎,在\(L\)层以上都会碎.现在某人有\(k\)个鸡蛋,问在最坏情况下, ...

  10. 数据库SQL语言从入门到精通--Part 3--SQL语言基础知识

    数据库从入门到精通合集(超详细,学习数据库必看) 一.关系 单一的数据结构----关系 现实世界的实体以及实体间的各种联系均用关系来表示 逻辑结构----二维表 从用户角度,关系模型中数据的逻辑结构是 ...