DataTablesUtil服务器端分页查询

DataTablesUtil提供的分页查询默认是web端分页,即在数据库中查询所有的数据之后,再根据需要进行分页查询,这样带来的后果就是如果某个表的数据量比较大则会给服务器带来较大的负担。DataTablesUtil是支持服务端分页的。

下面是一个Table:

<table class="table table-border table-bordered table-bg display" id="school">
   <thead>
      <tr>
         <th scope="col" colspan="9">学校列表</th>
      </tr>
      <tr class="text-c">
         <th  width="3px" orderable="false" text-align="center"><input type="checkbox" name="allChecked"/></th>
         <th width="40">学校编号</th>
         <th width="150">学校名称</th>
         <th width="90">城市</th>
         <th width="150">省会</th>
      </tr>
   </thead>

</table>

加载该table的语句:

$("#school").DataTable({
    ajax:{
        url: url
    },
    "serverSide": true,
    "destroy": true,
    "pageLength": 10,
    "ordering": false,
    "autoWidth": true,
    "stateSave": false, 
    "searching": true, 
    columns:[
        {
            orderable: false,
            targets: [0],
            data: "schoolId",
            render: function(data, type, full, meta){
                return '<input type="checkbox" name="id"/>';
            }
        },
        {data: 'schoolId'},
        {data: 'schoolName'},
        {data: 'city'},
        {data: 'province'}
    ]
});

serverSide:是否服务器端进行分页;

stateSave用于配置是否保存翻页状态。

 

在服务器端获取的JSON数据包含以下几个字段:

draw:用于表示当前页是哪一页;

length:用于表示分页长度;

start:查询开始的行数;

search(可用Map类型接收):search[value]表示搜索框输入的内容,所搜索框没有输入内容,则此值为空。

 

服务器返回值必须包含以下几个字段:

draw:用于表示当前页是哪一页;

recordsTotal:查询总数据量;

recordsFiltered:过滤数,类似mysql的limit

 

服务器端实现的Bean:

public class ResponseInfo<T> {
    private List<T> data; 

    private int recordsTotal;

    private int recordsFiltered;

    private int draw;

    //getter and setter
}

最终效果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值