BootStrap Table和Mybatis Plus实现服务端分页
一、后台java代码(Mybatis Plus分页)
(1)Mybatis Plus分页的配置,在mybatis的xml文件中增加如下配置(Mybatis Plus官方文档:http://baomidou.oschina.io/mybatis-plus-doc/#/quick-start)
<!-- 插件配置项 -->
<property name="plugins">
<array>
<!-- 分页插件配置 -->
<bean id="paginationInterceptor"
class="com.baomidou.mybatisplus.plugins.PaginationInterceptor">
<property name="dialectType" value="mysql" />
</bean>
</array>
</property>
(2)mapper
List<Entity> selectPageById(Pagination page,String id);//Pagination 为Mybatis plus分页插件的实体
(3)service
/**
* 分页查询
*/
public Page<Entity> selectPageById(Page<Entity> page,Stringid) {
Page<Entity> limitPage = page.setRecords(informationCodeMapper.selectPageById(page,id));
return limitPage;
}
(3)controller(注意:mybatis plus的分页时,查询的数据存放在records属性中)
/**
* BootStrap Table分页
* @param pageNumber 页数
* @param pageSize 每页显示数据的条数
* @param request
* @return
*/
@RequestMapping("/pageTest.shtml")
@ResponseBody
public String informationList(String pageNumber, String pageSize, String id, HttpServletRequest request) {
if(!StringUtils.isNotBlank(pageNumber) & !StringUtils.isNotBlank(pageSize)){
pageNumber="1";
pageSize="10";
}
//分页 pageNumber--》页数 pageSize--》每页显示数据的条数
int page_Num = Integer.parseInt(pageNumber);
int page_Size = Integer.parseInt(pageSize);
Page<Entity> page = new Page<Entity>(page_Num, page_Size);
Page<Entity> selectPageByCsdbId = informationService.selectPageById(page, csdbId);
//bootstrap-table要求服务器返回的json须包含:total,rows
Map<String, Object> map = new HashMap<String, Object>();
map.put("total", selectPageById.getTotal());
map.put("rows", selectPageById.getRecords());
return JSON.toJSONString(map);
}
二、前台js (BootStrap Table分页)
$(function(){
/*boostrap table*/
$('#informationTable').bootstrapTable({
columns: [{
field: 'checkBox',
checkbox:true,
align:"center"
}, {
field: 'id',
title: 'ID',
visible : false,//隐藏该列
align:"center"
}, {
field: 'informationCode',
title: 'Information Code',
align:"center",
}, {
field: 'infoName',
title: 'InfoName',
align:"center",
},{
field:"suggesteddmtype",
title:"Suggested Dm Type",
align:"center",
class:"table-select2",
},{
field:"operation",
title:"操作",
align:"center",
formatter : "actionFormatter",//自定义方法
}],
method: 'post',
contentType: "application/x-www-form-urlencoded",//必须要有!因为bootstap table使用的是ajax方式获取数据,这时会将请求的content type默认设置为 text/plain,这样在服务端直接通过 @RequestParam参数映射是获取不到的。
url:"pageTest.shtml?time="+getTimestamp,//要请求数据的文件路径,加时间戳,防止读取缓存数据
sortable: true, //是否启用排序
sortOrder: "informationCode asc", //排序方式
pagination: true,//是否开启分页(*)启动分页,必须设为true
queryParamsType:'',//注意:查询参数组织方式,默认值为 'limit',在默认情况下 传给服务端的参数为:offset,limit,sort 。 设置为 '' 在这种情况下传给服务器的参数为:pageSize,pageNumber
queryParams:queryParams,//请求服务器时所传的参数
pageNumber:1,//初始化加载第一页,默认第一页
pageSize: 10,//每页的记录行数(*)
pageList: [10,20,30,50],//可供选择的每页的行数(*)
sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
toolbar:".custom-btn-list"
});
})
//得到查询的参数
function queryParams (params) {
var temp = { //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
pageSize: params.pageSize, //页面大小
pageNumber: params.pageNumber, //页码
searchText : params.searchText,
};
return temp;
};}
三、结果展示

BootStrap Table和Mybatis Plus实现服务端分页的更多相关文章
- jquery.dataTables的探索之路-服务端分页配置
最近闲来无事想研究下数据表格,因为之前接触过layui和bootstrap的数据表格,本着能学多少学多少的学习态度,学习下dataTables的服务端分页配置.特与同学们一块分享下从中遇到的问题和解决 ...
- BootStrap table服务端分页
涉及到的内容: 1.bootstrap-table插件: 2.mybatisplus分页查询: 3.spring封装对象匹配bootstrap-table插件格式: 4.sql查询隐藏手机号中间四位. ...
- asp.net mvc bootstrap datatable 服务端分页
datatable 服务端分页 因项目需求变动,需处理大量数据,更改成服务端分页,自己两天的学习笔记 先上图[ jqueryui风格] 前端代码: @{ Layout = null;} <!DO ...
- asp.net mvc bootstrap datatable 服务端分页 更新槽糕的代码【1】
datatable 服务端分页 因项目需求变动,需处理大量数据,更改成服务端分页,自己两天的学习笔记 datatable 1.10.7 百度云下载 密码:0ea1 先上图[ jqueryui风格] ...
- 基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
前言 基于SpringMVC+Bootstrap+DataTables实现数据表格服务端分页.模糊查询(非DataTables Search),页面异步刷新. 说明:sp:message标签是使用了S ...
- AngularJS中实现服务端分页
这个教程将介绍在AngularJS应用中的服务端分页处理.在任何涉及到列表或表格数据的应用中都可能会用到分页. 概念 当我们处理异步分页时,每次只从服务器上获取一页数据.也就是说当用户点击第二页,就只 ...
- datatable.js 服务端分页+fixColumns列固定
前言 记得还是15年的时候,工作需要,独自写后台管理系统..记得那时候,最让我头疼的不是后台逻辑,而是数据的列表展示. 列很多的时候,页面显示问题;分页样式问题;表格样式问题;数据加载...很多细节的 ...
- Angularjs的真分页,服务端分页,后台分页的解决方案
背景:项目的框架使用的是Angularjs,在做数据展示的时候,使用的是ng-table.用过ng-table的人都知道,他是自带分页的,默认分页方式是假分页.也就是一口气把所有的数据从数据库里取出来 ...
- bootstrap-table服务端分页操作
由于数据库查询的数据过多,所以采取服务端分页的操作,避免一次性加载的数据量过多,导致页面加载缓慢. 后端数据的封装格式json数据 rows里的数据是当前页的数据,total是总条数: { " ...
随机推荐
- Java第九周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己 ...
- 201521123024 《java程序设计》 第12周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容.
- Java :BufferedWriter类和BufferedReader类的构造方法、主要方法
BufferedWriter 和 BufferedReader 为带有默认缓冲的字符输出输入流,因为有缓冲区所以效率比没有缓冲区的高. 一.BufferedWriter 类 构造方法:buffered ...
- Log Reservation
本文是在阅读<SQL Server Transaction Log Management>的Chapter 2: Log Internals时发现以往对Log Grows的理解比较片面,大 ...
- 【转】MySQL分库分表环境下全局ID生成方案
转载一篇博客,里面有很多的知识和思想值得我们去思考. —————————————————————————————————————————————————————————————————————— 在大 ...
- 【BBED】BBED模拟并修复ORA-08102错误
[BBED]BBED模拟并修复ORA-08102错误 1.1 BLOG文档结构图 1.2 前言部分 1.2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其 ...
- 【框架学习与探究之定时器--Quartz.Net 】
声明 本文欢迎转载,原文地址:http://www.cnblogs.com/DjlNet/p/7572174.html 前言 这里相信大部分玩家之前现在都应该有过使用定时器的时候或者需求,例如什么定时 ...
- Opengl4.5 中文手册—B
索引 A B C D E F G H I J K L M N O P Q ...
- Linux入门之常用命令(10)软连接 硬链接
在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问. ...
- “==”与"equals(object)"的区别
一.对于基本数据类型而言只能用“==”,不能用equals来进行比较,若使用equals来进行比较,则不能通过编译 二.在非字符串的对象的比较中: “==”与“equals()”比较的均是对象在堆内存 ...