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是总条数: { " ...
随机推荐
- lintcode.68 二叉树后序遍历
二叉树的后序遍历 描述 笔记 数据 评测 给出一棵二叉树,返回其节点值的后序遍历. 您在真实的面试中是否遇到过这个题? Yes 样例 给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3 返 ...
- Shiro第六篇【验证码、记住我】
验证码 在登陆的时候,我们一般都设置有验证码,但是我们如果使用Shiro的话,那么Shiro默认的是使用FormAuthenticationFilter进行表单认证. 而我们的验证校验的功能应该加在F ...
- 转 Java输入输出流详解(非常详尽)
转 http://blog.csdn.net/zsw12013/article/details/6534619 通过数据流.序列化和文件系统提供系统输入和输出. Java把这些不同来源和目标的数据都 ...
- Spring - Bean的概念及其基础配置
概述 bean说白了就是一个普通的java类的实例,我们在bean中写一些我们的业务逻辑,这些实例由Sping IoC容器管理着.在web工程中的spring配置文件中,我们用<bean/> ...
- hibernate中Query的list和iterator区别(续)
打开cache后query的list和iterator方法区别 将query 的cache打开的话,缓存的是query本身,以hql 生成的 sql ,再加上参数,分页等信息做为key值,而不是que ...
- MyEclipse中Source Folder,package,folder的区别
1.在eclipse下,package, source folder, folder都是文件夹. 但它们有区别如: 2. package:当你在建立一个package时,它自动建立到source fo ...
- multimap 和priority_queue详解
上一期是关于STL和并查集结合的例题,也附了STL中部分容器的使用摘要,由于是从网上东拼西凑的,感觉有的关键点还是没解释清楚,现在从其中摘出两个容器,用例题对它们的用法进行进一步解释. 以下是例题的介 ...
- 导航栏 .active激活
参考 :使用angularjs写一个导航栏控制器 1.点击其中一个li其他的class不影响 2.点击其中一个li其他的class影响 <!DOCTYPE html> <html l ...
- [AHOI2004]奇怪的字符串
[AHOI2004]奇怪的字符串 题目描述 输入输出格式 输入格式: 输入文件中包含两个字符串X和Y.当中两字符串非0即1.序列长度均小于9999. 输出格式: X和Y的最长公共子序列长度. 输入输出 ...
- java 面向对象 2
一.JAVA类的定义 JAVA里面有class关键字定义一个类,后面加上自定义的类名即可.如这里定义的person类,使用class person定义了一个person类,然后在person这个类的类 ...