jquery datatable 结合spring mvc mybatis和spring data Pageable分页

原创 2015年09月30日 09:35:31

本文介绍一下结合spring mvc和jquery datatable如何进行分页。


spring mvc 代码

@Controller
@RequestMapping("/appaccess")
public class AppAccessController {
  @Autowired
  private AppAccessService appAccessService;
  
  @RequestMapping(value = "/getJsonData", produces = "text/plain;charset=utf-8")
  @ResponseBody
  public String getJsonData(@RequestParam(required = false) String keywords,
      @RequestParam(required = false) Integer start,
      @RequestParam(required = false) Integer length) {

    Map<String, Object> maps = new HashMap<>();
    PageRequest pagerequset = new PageRequest((start / length), length);
    int totalCount = appAccessService.findListCount(keywords);
    List<AppAccess> results = appAccessService.findList(keywords, pagerequset);
    return JSON.toJSONString(results);
  }
}

参数start和length:start参数表示数据的开始位置,length表示每页数据的数据量,例如点击第一页,那么start=0,length=25,点击第二页,start=25,length=25,这两个参数由jquery datatable传递到后端。


如果是基于spring data Pageable进行分页,那么必须计算pageno,也即是第几页。这个很简单,使用start/length即可得到。PageRequest是Pageable接口的实现类,我们可以构造PageRequest对象,利用该对象的api得到offset和pageSize

 PageRequest pagerequset = new PageRequest((start / length), length));

mybatis 代码

<select id="findList" resultType="com.vip.admin.appaccess.entity.AppAccess">
    select *
    from app_access where 1 = 1
     //省略部分代码
    <if test="pageable.offset >= 0 and pageable.pageSize > 0" >
      limit ${pageable.offset}, ${pageable.pageSize}
    </if>
</select>

至于如何将后端json数据显示到前台,请结合我之前写的Jquery datatable jsonp 显示后台json数据这篇文章。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

springmvc 通过 Pageable对象和PageableDefault注解获取分页信息

Pageable 是Spring Data库中定义的一个接口,该接口是所有分页相关信息的一个抽象,通过该接口,我们可以得到和分页相关所有信息(例如pageNumber、pageSize等)。 Page...
  • zsg88
  • zsg88
  • 2017年03月25日 22:57
  • 7162

Spring Data JPA: 分页和排序

之前我们学习了如何使用Jpa访问关系型数据库。通过Jpa大大简化了我们对数据库的开发工作。但是,之前的例子中我们只提到了最简单的CRUD(增删改查)操作。实际上,Spring Data Jpa对于分页...

spring data jpa分页查询

最近项目上用就spring data jpa,一开始感觉还不错,但是随着对业务的复杂,要求处理一些复杂的sql,就顺便研究了下,把结果记录下,以便日后查看。 DAO层: import java.uti...

spring-data 前台分页

一、DTO定义 1、定义基础DTO(BasePageDTO),包含分页相关信息: package com.ppt.dto; import javax.xml.bind.annotation.Xm...
  • ppt0501
  • ppt0501
  • 2013年11月21日 14:23
  • 17258

Datatables--一个有意思的自动分页和排序的插件

Datatables--一个有意思的自动分页和排序的插件 相信大家在做表格显示的时候都做过分页显示的功能,实现起来只需要简单几句sql+java代码即可实现,但这不是本篇的重点。本篇文章想要介绍一个有...

dataTables-使用详细说明整理,还有各种参数、回调方法

本文共四部分:官网 | 基本使用|遇到的问题|属性表 一:官方网站:[http://www.datatables.net/] 二:基本使用:[http://www.guoxk.com/node/j...

dataTables分页展示数据注意事项(案例)(一)

dataTables可以高效的提供大量数据的表格展示: 代码如: 前台: table = $('#example').DataTable(             {          ...

二、jq前端分页插件datatable使用

datatable分页插件
  • lze693
  • lze693
  • 2017年01月21日 11:07
  • 3139

mybatis(pagehelper) dataTables实现分页功能

网上有一些资料,感觉都不完整,这里整理一下,方便使用 心急的直接看代码:GitHub - chenjiangtao/mybatis-pagehelper-datatables 包引入 PageHelp...

Jquery Datatable的使用样例(ssm+bootstrsp框架下)服务器端分页

Jquery Datatable的使用样例 (ssm+bootstrsp框架下)服务器端分页
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:jquery datatable 结合spring mvc mybatis和spring data Pageable分页
举报原因:
原因补充:

(最多只允许输入30个字)