MyBatis 分页(前后端插件)实现
一、后端使用 PageHelper插件
【1】引入 PageHelper jar包(Maven项目)
1 <dependency>
2 <groupId>com.github.pagehelper</groupId>
3 <artifactId>pagehelper</artifactId>
4 </dependency>
【2】MyBatis 配置文件中配置插件(通过 Spring 配置中的 sqlsessionfactory 对此配置文件加载,将PageHelper加载到容器中)
1 <plugins>
2 <!-- com.github.pagehelper 为 PageHelper 类所在包名 -->
3 <plugin interceptor="com.github.pagehelper.PageHelper">
4 <!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL 六种数据库-->
5 <property name="dialect" value="mysql"/>
6 </plugin>
7 </plugins>
【3】Server 类中使用插件(重要)
1 @Override
2 public PageResult findPage(int pageNum, int pageSize) {
3 /*@desc 使用插件进行分页处理 插件对分页的处理(重要)
4 *@parameter: pageNum:页码,pageSize:每页显示记录数
5 */
6 PageHelper.startPage(pageNum, pageSize);
7 //查询结果封装到Page类中,通过Total获取总记录数,Result获取查询的记录数(记录数=pageSize)
8 Page<TbBrand> page = (Page<TbBrand>) brandMapper.selectByExample(null);
9 return new PageResult(page.getTotal(),page.getResult());
10 }
二、前端使用分页插件(pagination.js),前端使用AngularJs框架
【1】引入 pagination.js 和 pagination.css
☞ pagination.js下载地址:https://download.csdn.net/download/lostchris/9425230
☞ pagination.css下载地址:https://download.csdn.net/download/zhengzhaoyang122/10641792
==== 具体注释说明====
1 <script type="text/javascript" src="../plugins/angularjs/pagination.js"></script>
2 <link rel="stylesheet" href="../plugins/angularjs/pagination.css">
3 <script type="text/javascript">
4 //1、查询模块需要依赖pagination pagination模块在JS中有定义
5 var app = angular.module('pinyougou', ['pagination']);
6 app.controller('brandController', function($scope, $http) {
7 $scope.findAll = function() {
8 $http.get('../brand/findAll.do').success(function(response) {
9 $scope.brandList = response;
10 });
11 }
12 //2、需要在table结束后添加页数显示标签tm-pagination 并定义conf(位于博客最后)
13 /*3、将2中定义的conf变量,进行赋值
14 currentPage : 页码,
15 totalItems : 总记录数,
16 itemsPerPage : 每页显示记录数,
17 perPageOptions : 需要每页显示多少记录,用户可自定义,
18 onChange : 当页码发生变化时,出发事件。
19 */
20 //分页控件配置
21 $scope.paginationConf = {
22 currentPage : 1,
23 totalItems : 10,
24 itemsPerPage : 10,
25 perPageOptions : [ 10, 20, 30, 40, 50 ],
26 onChange : function() {
27 $scope.reloadList();//重新加载
28 }
29 };
30
31 //重新加载列表 数据
32 $scope.reloadList = function() {
33 //切换页码
34 $scope.findPage($scope.paginationConf.currentPage,
35 $scope.paginationConf.itemsPerPage);
36 }
37
38 //需要将查询结果 进行赋值,例如总记录数totalItems
39 $scope.findPage = function(page, rows) {
40 $http.get('../brand/findPage.do?pageNum=' + page + '&size=' + rows)
41 .success(function(response) {
42 $scope.brandList = response.rows;//需要遍历的对象
43 $scope.paginationConf.totalItems = response.total;//总记录数
44 });
45 }
46 });
【2】页面中 分页栏 显示标签代码如下:(位置是 table 结束后)
1 </table>
2 <!-- 分页显示栏 -->
3 <tm-pagination conf="paginationConf"></tm-pagination>
MyBatis 分页(前后端插件)实现的更多相关文章
- J2EE分布式微服务云开发架构 Spring Cloud+Mybatis+ElementUI 前后端分离J2EE分布式微服务云开发架构 Spring Cloud+Mybatis+ElementUI 前后端分离
鸿鹄云架构[系统管理平台]是一个大型企业.分布式.微服务.云架构的JavaEE体系快速研发平台,基于模块化.微服务化.原子化.热部署的设计思想,使用成熟领先的无商业限制的主流开源技术(Spring ...
- Mybatis分页插件PageHelper的配置和使用方法
Mybatis分页插件PageHelper的配置和使用方法 前言 在web开发过程中涉及到表格时,例如dataTable,就会产生分页的需求,通常我们将分页方式分为两种:前端分页和后端分页. 前端分 ...
- springboot + mybatis 前后端分离项目的搭建 适合在学习中的大学生
人生如戏,戏子多半掉泪! 我是一名大四学生,刚进入一家软件件公司实习,虽说在大学中做过好多个实训项目,都是自己完成,没有组员的配合.但是在这一个月的实习中,我从以前别人教走到了现在的自学,成长很多. ...
- Thymeleaf前后端分页查询
分页查询是一个很常见的功能,对于分页也有很多封装好的轮子供我们使用. 比如使用mybatis做后端分页可以用Pagehelper这个插件,如果使用SpringDataJPA更方便,直接就内置的分页查询 ...
- Mybatis分页插件PageHelper简单使用
一个好的讲解mybatis的博客地址http://www.jianshu.com/nb/5226994 引言 对于使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句 ...
- SSM 使用 mybatis 分页插件 pagehepler 实现分页
使用分页插件的原因,简化了sql代码的写法,实现较好的物理分页,比写一段完整的分页sql代码,也能减少了误差性. Mybatis分页插件 demo 项目地址:https://gitee.com/fre ...
- mybatis 分页插件
博客地址http://www.jianshu.com/nb/5226994 引言 对于使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句,然后再写一个真正分页查询的 ...
- Spring Boot + Spring Cloud 实现权限管理系统 后端篇(八):MyBatis分页功能实现
使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真不想花双倍的时间写 count 和 select,幸 ...
- Mybatis学习---Mybatis分页插件 - PageHelper
1. Mybatis分页插件 - PageHelper说明 如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件. 该插件目前支持Oracle,Mysql,MariaDB,S ...
- 基于Mybatis分页插件PageHelper
基于Mybatis分页插件PageHelper 1.分页插件使用 1.POM依赖 PageHelper的依赖如下.需要新的版本可以去maven上自行选择 <!-- PageHelper 插件分页 ...
随机推荐
- bzoj 3603
考虑转化问题:一个点相邻元素中有偶数个$1$等价于一个点与相邻元素异或和为$0$ 于是直接列出异或方程组求解即可 注意由于要求不允许出现全0矩阵,因此如果有自由元直接给成$1$ 贴代码: #inclu ...
- mysql之数据表基本操作-第四篇
在关系型数据库中,数据表是一系列二维数组的集合,用来存储数据和操作数据的逻辑结构. 1.创建表,以创建一个简单的员工表为例: create table employee ( empId INT(11) ...
- swift 应用内切换语言
1:在project info中的locations添加需要的语言 2:创建Localizable.strings文件 点击右边的localization勾选需要的语言 3:创建InfoPlist.s ...
- visio2019 破解
链接:https://pan.baidu.com/s/14AU8GFXhgjp87pK1bIK8UA?pwd=ju61 提取码:ju61 --来自百度网盘超级会员V5的分享 可能需要关闭防火墙和win ...
- 解决element-ui表格字段用expand展开行时其他字段也会同时展开的问题
使用element-ui的table表格时,我们通常会在需要展开的列上通过设置 type="expand" 和 Scoped slot 可以开启展开行功能,但是渲染结果会出现其他未 ...
- Matlab|multcompare文档
multcompare Syntax c = multcompare(stats) c = multcompare(stats,Name,Value) [c,m] = multcompare(___) ...
- Shell脚本结构化-控制流
脚本结构化命令 上一章给出的那些 shell 脚本里,shell 按照命令在脚本中出现的顺序依次进行处理.对顺序操作来说,这已经足够了,因为在这种操作环境下,你想要的就是所有的命令按照正确的顺序执行. ...
- 4vue 属性绑定
属性绑定v-bind <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- Python自学day03
1.数据类型 int 1,2,3用于计算 bool True,False用于判断 str 存储少量数据,用于操作 list 存储大量数据 [1,2,3,'a ...
- Jenkins搭建项目过程中遇到的问题解决方法
1.运行时,报没有权限 报错: rm -rf '/root/jar/*' rm: cannot remove '/root/jar/*': Permission denied 解决方法: 将Jenki ...