mybatis分页助手分页
一、编写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分页助手分页的更多相关文章
- 九:SpringBoot-整合Mybatis框架,集成分页助手插件
九:SpringBoot-整合Mybatis框架,集成分页助手插件 1.Mybatis框架 1.1 mybatis特点 1.2 适用场景 2.SpringBoot整合MyBatis 2.1 核心依赖 ...
- Mybatis Generator实现分页功能
Mybatis Generator实现分页功能 分类: IBATIS2013-07-17 17:03 882人阅读 评论(1) 收藏 举报 mybatisibatisgeneratorpage分页 众 ...
- SpringBoot+Mybatis配置Pagehelper分页插件实现自动分页
SpringBoot+Mybatis配置Pagehelper分页插件实现自动分页 **SpringBoot+Mybatis使用Pagehelper分页插件自动分页,非常好用,不用在自己去计算和组装了. ...
- SpringBoot+Mybatis+PageHelper实现分页
SpringBoot+Mybatis+PageHelper实现分页 mybatis自己没有分页功能,我们可以通过PageHelper工具来实现分页,非常简单方便 第一步:添加依赖 <depend ...
- SpringBoot集成Mybatis并具有分页功能PageHelper
SpringBoot集成Mybatis并具有分页功能PageHelper 环境:IDEA编译工具 第一步:生成测试的数据库表和数据 SET FOREIGN_KEY_CHECKS=0; ...
- 【spring boot】14.spring boot集成mybatis,注解方式OR映射文件方式AND pagehelper分页插件【Mybatis】pagehelper分页插件分页查询无效解决方法
spring boot集成mybatis,集成使用mybatis拖沓了好久,今天终于可以补起来了. 本篇源码中,同时使用了Spring data JPA 和 Mybatis两种方式. 在使用的过程中一 ...
- Mybatis的PageHelper分页插件的PageInfo的属性参数,成员变量的解释,以及页面模板
作者:个人微信公众号:程序猿的月光宝盒 //当前页 private int pageNum; //每页的数量 private int pageSize; //当前页的数量 private int si ...
- 小白的springboot之路(十五)、mybatis的PageHelper分页插件使用
0.前言 用mybatis,那么分页必不可少,基本都是用PageHelper这个分页插件,好用方便: 1.实现 1.1.添加依赖: <!-- 3.集成 mybatis pagehelper--& ...
- 分页助手PageHelper学习
PageHelper是mybatis的通用分页插件,通过mybatis的拦截器实现分页功能,拦截sql查询请求,添加分页语句, 最终实现分页查询功能.在 springboot上集成pagehelper ...
随机推荐
- CSS- 一些少用的
1. 字体间距 1.)word-spacing: 2.)letter-spacing: 3.)text-indent 4.)text-align-last: justify; 和 text-align ...
- [php代码审计]bluecms v1.6 sp1
一.环境搭建 bluecms v1.6 sp1源码 windows 7 phpstudy2016(php 5.4.45) seay源代码审计系统 源码在网上很容易下载,很多教程说访问地址 http:/ ...
- js 异或加密
// 按位异或 加密 var posNo = 'C0041710190002' // 特殊字符不进行 与或 加密 (因为A,a,Z,z,转换后会变成符号,不方面用户输入 ...
- ES6中对数值的扩展
上一节和大家学习了字符串的扩展,这一节轮到了数值,我们一起来学习数值的扩展. 剧透一下,这一节并不会很烧脑,都是介绍类的知识讲解,理解性的东西不多,初学者们也可以愉快地看完. 传统的写法 在介绍数值的 ...
- C# 基础知识系列- 14 IO篇之入门IO
0. 前言 在之前的章节中,大致介绍了C#中的一些基本概念.这篇我们将介绍一下C#的I/O操作,这将也是一个小连续剧.这是第一集,我们先来简单了解一下C#中的I/O框架. 1. 什么是I/O I/O ...
- LeetCode 面试题56 - I. 数组中数字出现的次数 | Python
面试题56 - I. 数组中数字出现的次数 题目 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度是O(n),空间复杂度是O(1). ...
- wx.request出现400 bad request的问题
wx.request({ url: 'test.php', //仅为示例,并非真实的接口地址 data: { x: '' , y: '' }, header: { 'content-type': 'a ...
- c++ 更新 performance counter 数据,错误码 87
ERROR_INVALID_PARAMETER 87 (0x57) The parameter is incorrect. 很可能是该送 ULONG 的送了 ULONGLONG,vise versa
- 从GC的SuppressFinalize方法带你深刻认识Finalize底层运行机制
如果你经常看开源项目的源码,你会发现很多Dispose方法中都有这么一句代码: GC.SuppressFinalize(this); ,看过一两次可能无所谓,看多了就来了兴趣,这篇就跟大家聊一聊. 一 ...
- 自动化部署jenkins
jenkins下载网站 https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/ 一.配置环境 [root@localhost ~]# hostname ...