美文网首页
Mybatis分页插件PageHelper的配置和使用方法

Mybatis分页插件PageHelper的配置和使用方法

作者: 创新科技宝典 | 来源:发表于2017-08-06 16:30 被阅读0次

    在web开发过程中涉及到表格时,例如dataTable,就会产生分页的需求,通常我们将分页方式分为两种:前端分页和后端分页。

    前端分页

    一次性请求数据表格中的所有记录(ajax),然后在前端缓存并且计算count和分页逻辑,一般前端组件(例如dataTable)会提供分页动作。

    特点是:简单,很适合小规模的web平台;当数据量大的时候会产生性能问题,在查询和网络传输的时间会很长。

    后端分页

    在ajax请求中指定页码(pageNum)和每页的大小(pageSize),后端查询出当页的数据返回,前端只负责渲染。

    特点是:复杂一些;性能瓶颈在MySQL的查询性能,这个当然可以调优解决。一般来说,web开发使用的是这种方式。

    我们说的也是后端分页。

    MySQL对分页的支持

    简单来说MySQL对分页的支持是通过limit子句。请看下面的例子。

    limit关键字的用法是

    LIMIT [offset,] rows

    offset是相对于首行的偏移量(首行是0),rows是返回条数。

    # 每页10条记录,取第一页,返回的是前10条记录select* from tableA limit0,10;

    # 每页10条记录,取第二页,返回的是第11条记录,到第20条记录,select* from tableA limit10,10;

    这里提一嘴的是,MySQL在处理分页的时候是这样的:

    limit 1000,10 - 过滤出1010条数据,然后丢弃前1000条,保留10条。当偏移量大的时候,性能会有所下降。

    limit 100000,10 - 会过滤10w+10条数据,然后丢弃前10w条。如果在分页中发现了性能问题,可以根据这个思路调优。

    Mybatis分页插件PageHelper

    在使用Java Spring开发的时候,Mybatis算是对数据库操作的利器了。不过在处理分页的时候,Mybatis并没有什么特别的方法,一般需要自己去写limit子句实现,成本较高。好在有个PageHelper插件。

    1、POM依赖

    Mybatis的配置就不多提了。PageHelper的依赖如下。需要新的版本可以去maven上自行选择

    1

    2

    3

    4

    5

    com.github.pagehelper

    pagehelper

    4.1.4

    2、Mybatis对PageHelper的配置

    打开Mybatis配置文件,一般在Resource路径下。我这里叫mybatis-config.xml。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    相关文章

      网友评论

          本文标题:Mybatis分页插件PageHelper的配置和使用方法

          本文链接:https://www.haomeiwen.com/subject/tkfnlxtx.html