bootstrap table分页功能分为前端分页和服务端分页两种,前端分页是一次性把数据全部查询到前端,再在前端页面进行分页,当数据量较少时可以使用前端分页,但当数据量较大时,前端分页就不太适用了,一次性查询大量数据耗费大量时间,有时会造成系统崩溃。这时,可以使用服务端分页。服务端分页的原理是根据设置的每页显示数据条数,每次只从数据库中查出这么多数据,这样可以大大减少查询时长,快速响应前端需求。
使用bootstrap table需要引入一些css和js文件,这里不再赘述。
一、前端代码
1.设置表格

<div class="main-wrap"><div><!-- 所有设备查询管理 --><div id="prizeToolbar"><div class="btn-group"><table id="tb_allEqument" class="table table-hover table-striped table-condensed"></table></div></div></div></div>

2。初始化和配置表格

function tableInit() {$('#tb_allEqument').bootstrapTable({url: "/hzsh/eomc-jxpj/sheBeiPcct/allEquipment/fenYelist",         //请求后台的URL(*)method: 'POST',                      //请求方式(*)toolbar: '#toolbar',                //工具按钮用哪个容器striped: true,                      //是否显示行间隔色cache: false,                       //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)sortable: true,                     //是否启用排序sortOrder: "asc",                   //排序方式//------分页信息配置--------pagination: true,                   //是否显示分页(*)sidePagination: "server",           //分页方式:client客户端分页,server服务端分页(*)pageNumber:1,                       //初始化加载第一页,默认第一页pageSize: 5,                       //每页的记录行数(*)pageList: [10, 20, 30, 50],        //可供选择的每页的行数(*)paginationPreText: '‹',//指定分页条中上一页按钮的图标或文字,这里是<paginationNextText: '›',//指定分页条中下一页按钮的图标或文字,这里是>strictSearch: true,                 //指定全匹配搜索showColumns: true,                  //是否显示所有的列showRefresh: true,                  //是否显示刷新按钮minimumCountColumns: 2,             //最少允许的列数clickToSelect: false,                //是否启用点击选中行uniqueId: "id",                      //每一行的唯一标识,一般为主键列showToggle:false,                    //是否显示详细视图和列表视图的切换按钮cardView: false,                    //是否显示详细视图detailView: false,                   //是否显示父子表showExport: true,                   //是否显示导出按钮exportDataType: "all",//导出表格方式(默认basic:只导出当前页的表格数据;all:导出所有数据;selected:导出选中的数据)exportTypes: ['json', 'xml', 'csv', 'txt', 'sql', 'excel','xlsx'],//导出文件类型buttonsAlign:"right",               //按钮位置Icons:'glyphicon-export',           //按钮图标queryParams: function(params) {var eomcJxpjLHSheBeiFengYeEntity = {//向服务端传递以下两个参数,服务端获取这两个参数后,加入到sql语句中进行                    分页查询limit:params.limit, // 每页显示数量offset:params.offset // SQL语句起始索引}var temp = { equCode2:$("#q_equCode").val(),equName2:$("#q_equName").val(),equTypeName:$("#q_equType").val() ,eomcJxpjLHSheBeiFengYeEntity:eomcJxpjLHSheBeiFengYeEntity}return JSON.stringify(temp);},columns: [{checkbox: true}, {field : 'number',title : '序号',align : 'center',width : 70,visible : true,formatter : function(value, row, index) {return index + 1;}}, {field: 'id',visible: false}, {field: 'equCode2',title: '设备编号',sortable: true,align:'center',visible: true,escape: true}, {field: 'equName2',title: '设备名称',sortable: true,align:'center',escape: true}, {field: 'equTypeName',title: '设备类别',align:'center',sortable: false,escape: true}],});
};

二、后端代码
1、实体类
这里创建了两个实体类,一个是数据类,一个是分页信息类

分页信息类:

@Data
public class EomcJxpjLHSheBeiFengYeEntity {private int limit ;private int offset;}

数据类:

@Data
public class EomcJxpjlhSheBeipcctEntity {private String id;private String equCode2;private String equName2;private String equTypeName;private String istt;//分页信息类(这里因为前端传参样式的缘故,所以把分页信息类作为了数据类的一个属性)private EomcJxpjLHSheBeiFengYeEntity eomcJxpjLHSheBeiFengYeEntity;}
  1. dao层 mapper
@Mapper
public interface EomcJxpjlhSheBeipcctMapper{/*** sql层分页语句(用的sqlserver数据库,使用top函数):*  select top linit * from EquList2 where id not in*    (select top offset id from EquList2) *   limit表示每页多少数据,offset表示数据记录索引* 示例:*   select top 10 * from EquList2 where id not in*    (select top 0 id from EquList2) *   该语句表示从数据库表中下标索引0(第一条数据)的数据开始取10条数据*/@Select("select top ${limit} id,EquCode2,EquName2,EquTypeName,is_tt from EquList2  where id not in\r\n" + "(select top ${offset} id from EquList2)")List<EomcJxpjlhSheBeipcctEntity> query(int limit,int offset);//获取数据库中所有数据记录的条数@Select("select count(1) from EquList2")int queryCount();}
  1. web层 controller

@Controller
@RequestMapping("/hzsh/eomc-jxpj/sheBeiPcct")
public class EomcJxpjlhSheBeipcctController {@Autowiredprivate EomcJxpjlhSheBeipcctMapper eomcJxpjlhSheBeipcctMapper;//前端传递参数为数据实体类@ResponseBody@RequestMapping("/allEquipment/fenYelist")public JSONObject list02(@RequestBody(required = false) EomcJxpjlhSheBeipcctEntity eomcJxpjlhSheBeipcctEntity) {//获取分页信息类EomcJxpjLHSheBeiFengYeEntity eomcJxpjLHSheBeiFengYeEntity = eomcJxpjlhSheBeipcctEntity   .getEomcJxpjLHSheBeiFengYeEntity();//每页显示数据条数   int limit = eomcJxpjLHSheBeiFengYeEntity.getLimit();//数据库查询索引起始值int offset = eomcJxpjLHSheBeiFengYeEntity.getOffset();// 查询数据总的数据条数int total = eomcJxpjlhSheBeipcctMapper.queryCount();// 按照分页信息查询部分数据List<EomcJxpjlhSheBeipcctEntity> equList = eomcJxpjlhSheBeipcctMapper.query(limit, offset);JSONObject res = new JSONObject();JSONArray resArray = new JSONArray();//将分页查询出的数据依次添加到JSON数组中for (EomcJxpjlhSheBeipcctEntity e : equList) {JSONObject resIndex = new JSONObject();resIndex.put("equCode2", e.getEquCode2());resIndex.put("equName2", e.getEquName2());resIndex.put("equTypeName", e.getEquTypeName());resArray.add(resIndex);}//total为全部数据条数,bootstrap table可自动获取后端传来的total数据res.put("total", total);//rows为分页查询出的数据,bootstrap table可自动解析该数据res.put("rows", resArray);return res;}
}

效果如下:

bootstrap table 服务端分页相关推荐

  1. bootstrap table 服务端分页

    前端js $(function () {//$('#MDTable').bootstrapTable('destroy');$("#MDTable").bootstrapTable ...

  2. bootstrap pagewrapper_BootStrap table服务端分页

    /** * 初始化 BootStrap Table 的封装 * * 约定:toolbar的id为 (bstableId + "Toolbar") * * @author fengs ...

  3. BootStrap Table和Mybatis Plus实现服务端分页

    一.后台java代码(Mybatis Plus分页) (1)Mybatis Plus分页的配置,在mybatis的xml文件中增加如下配置(Mybatis Plus官方文档:http://baomid ...

  4. datatable.js 服务端分页+fixColumns列固定

    前言 记得还是15年的时候,工作需要,独自写后台管理系统..记得那时候,最让我头疼的不是后台逻辑,而是数据的列表展示. 列很多的时候,页面显示问题;分页样式问题;表格样式问题;数据加载...很多细节的 ...

  5. JQuery Datatables 服务端分页简单应用学习

    背景介绍 最近在一个简单小项目中碰到需要一个前端数据表格控件,在看了网上的资料后最终选择了JQuery Datatables.Datatables功能及其强大,基本满足我的所有需求,在加上其插件Edi ...

  6. bootstrap-table+Django: 服务端分页

    分页方式: bootstrap-table提供两种分页方式,client和server,即客户端和服务端分页: 特点: client端分页:后台返回所有数据,前台翻页时不再请求后台. server端分 ...

  7. bootstrap table使用服务端分页

    前端代码 // 初始化表格 function initTable() {var $table = $('#table');$table.bootstrapTable('destroy');$table ...

  8. 项目实战之服务端分页的实现——SQL

    服务端的分页就一个SQL语句就可以搞定,贴出代码后自己慢慢欣赏: CREATE Procedure AppGetEmpList @EID int, @LGID int, @pagesize int, ...

  9. Jquery DataTable服务端分页的最佳实现

    2019独角兽企业重金招聘Python工程师标准>>> index.html <!DOCTYPE html> <html> <head><t ...

最新文章

  1. CNN阴影去除--DeshadowNet: A Multi-context Embedding Deep Network for Shadow Removal
  2. 金笛邮件分布式邮件设置指南
  3. SSM整合shiro框架相关配置文件
  4. SpringMVC-Controller怎么直接在页面上传递参数
  5. SAP Fiori Elements - how is read only field implemented in UI
  6. PMP读书笔记(第10章)
  7. 为什么存取周期大于存取时间_为什么开放存取很重要
  8. 海龟绘图两小时上手C语言 - 3 正方形螺旋线
  9. Pytorch各种损失函数
  10. python常用库大全文库_Python库参考手册
  11. HackerRank难题记录
  12. 教你从零开始学习数据库!
  13. Adobe PDF 虚拟打印机Acrobat Distiller 9.0 错误的解决
  14. sublime text3 3207 下载安装破解
  15. ArcGIS 10.6 安装教程
  16. ce修改魔兽争霸服务器存档,魔兽争霸3用CE修改找金钱基址
  17. [深入研究4G/5G/6G专题-8]: 测试-测试终端-高端无线CPE/Router的高通SDX55 5G NR芯片方案
  18. 主码、候选码与外码的区别
  19. FPGA之VGA转HDMI之并行串行转换模块编写
  20. 也谈中韩签订自由贸易协定

热门文章

  1. sql安装程序初始化_SQL Server安装程序–即时文件初始化(IFI)
  2. ssis 列转换_SSIS组播转换概述
  3. MFC DLL 导出函数的定义方式
  4. Python 爬虫实战2 百度贴吧帖子
  5. 读取配置文件(configparser,.ini文件)
  6. RESTful API标准设计教程
  7. 如何把Web缓存都充分利用上来?
  8. 【c语言】用指针变量输出一维数组中的数据
  9. MVC.Net:压缩/保存图片缩略图
  10. ElasticSearch讲解