文档章节

使用MyBatis+Mysql实现分页的插件PageInfo使用介绍

小马哥_mark
 小马哥_mark
发布于 2017/07/31 23:26
字数 748
阅读 115
收藏 0
点赞 0
评论 0

使用方法

引入分页插件一共有下面2种方式,推荐使用Maven方式,这种方式方便更新,也是目前主流的依赖管理方式。
 

1. 引入Jar包

 

如果你想使用本项目的jar包而不是直接引入类,你可以在这里下载各个版本的jar包(点击Download下的jar即可下载)

https://oss.sonatype.org/content/repositories/releases/com/github/pagehelper/pagehelper/

http://repo1.maven.org/maven2/com/github/pagehelper/pagehelper/

由于使用了sql解析工具,你还需要下载jsqlparser.jar(这个文件完全独立,不依赖其他):

http://repo1.maven.org/maven2/com/github/jsqlparser/jsqlparser/0.9.1/

http://Git.oschina.NET/free/Mybatis_PageHelper/attach_files

 

2.使用maven


(1)添加如下依赖(发布博客时的版本,可根据实际情况更新版本):

<dependency>  
    <groupId>com.github.pagehelper</groupId>  
    <artifactId>pagehelper</artifactId>  
    <version>4.0.0</version>  
</dependency>  

(2)在mybatis.xml文件中配置:

<!-- PageHelper分页插件配置 -->  
    <plugins>  
        <!-- com.github.pagehelper为PageHelper类所在包名 -->  
        <plugin interceptor="com.github.pagehelper.PageHelper">  
            <!-- 4.0.0以后版本可以不设置该参数 -->  
            <property name="dialect" value="mysql" />  
            <!-- 该参数默认为false -->  
            <!-- 设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用 -->  
            <!-- 和startPage中的pageNum效果一样 -->  
            <property name="offsetAsPageNum" value="true" />  
            <!-- 该参数默认为false -->  
            <!-- 设置为true时,使用RowBounds分页会进行count查询 -->  
            <property name="rowBoundsWithCount" value="true" />  
            <!-- 设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果 -->  
            <!-- (相当于没有执行分页查询,但是返回结果仍然是Page类型) -->  
            <property name="pageSizeZero" value="true" />  
            <!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 -->  
            <!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 -->  
            <!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->  
            <property name="reasonable" value="false" />  
  
            <!-- 支持通过Mapper接口参数来传递分页参数 -->  
            <property name="supportMethodsArguments" value="false" />  
            <!-- always总是返回PageInfo类型,check检查返回类型是否为PageInfo,none返回Page -->  
            <property name="returnPageInfo" value="none" />  
        </plugin>  
    </plugins> 

在Service的实现类中调用Dao中的查询方法时加入一段代码(当前页码,分页大小,排序的列)

public List<ScoreList> getListBySemester(String likeStr,int epage, int pagesize) {  
        // TODO Auto-generated method stub  
        PageHelper.startPage(epage, pagesize,"addtime DESC");  
        return scoreListDao.getListBySemester(likeStr);  
    }  

这样子分页插件会自动在你的查询语句后面添加 order by addtime DESC limit ?,?

后面的两个问号表示从第几条数据开始、查几条数据

(3)最后你在Controller层中加入

PageInfo pageInfo=new PageInfo(list);

后面放入的listcheck就是你service层返回的list集合。
这样PageInfo就会自动给你进行计算分页了。很方便吧,使用的时候有什么问题也可以去他的github存放地址查看wiki说明。

© 著作权归作者所有

共有 人打赏支持
小马哥_mark
粉丝 3
博文 18
码字总数 16031
作品 0
南京
程序员
mybatis 分页插件 MicroPageInterceptor v1.0.2 发布

mybatis分页插件MicroPageInterceptor jar已经提交至maven中央库,version使用最新的。 源码地址: https://github.com/jeffreyning/mybatis-plus MicroPageInterceptor特点: 1, 支持mysql...

杰睿宁 ⋅ 2017/12/01 ⋅ 11

mybatis 分页插件 - mybatis-plus-page

mybatis分页插件MicroPageInterceptor 特点: 1, 支持mysql和oracle分页 2, 不必在xml编写统计count的sql 3, 使用RowBounds子类PageInfo作为分页信息和记录总数的载体,不必像其他分页插件...

杰睿宁 ⋅ 2017/11/29 ⋅ 0

Mybatis 分页插件 3.3.0 发布

如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。 该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页。 经过近4个月的完善和反馈,3...

Liuzh_533 ⋅ 2014/12/04 ⋅ 28

Mybatis 分页插件 4.1.0 发布

如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件。 分页插件支持任何复杂的单表、多表分页,部分特殊情况请看重要提示。 想要使用分页插件?请看如何使用分页插件 ...

Liuzh_533 ⋅ 2015/12/30 ⋅ 7

ASP.NET MVC分页实现

ASP.NET MVC中不能使用分页控件,所以我就自己写了一个分页局部视图,配合PageInfo类,即可实现在任何页面任意位置呈现分页,由于采用的是基于POST分页方式,所以唯一的限制就是必须放在FOR...

技术小牛人 ⋅ 2017/11/14 ⋅ 0

Mybatis 分页插件 3.2.2 发布

v3.2.2 简单重构优化代码。 新增PageInfo包装类,对分页结果Page进行封装,方便EL使用。 将SystemMetaObject类的fromObject方法内置到分页插件中,方便低版本的Mybatis使用该插件。 v3.2.1 新...

Liuzh_533 ⋅ 2014/07/21 ⋅ 34

Mybatis 分页插件 PageHelper 5.0.2 发布

Mybatis分页插件 - PageHelper PageHelper 5.0.2 发布了。如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件。分页插件支持任何复杂的单表、多表分页,部分特殊情况请...

Liuzh_533 ⋅ 2017/05/31 ⋅ 8

Mybatis 分页插件 4.0.0 发布

Mybatis 分页插件 - PageHelper 如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件。 分页插件支持任何复杂的单表、多表分页,部分特殊情况请看重要提示。 想要使用分...

Liuzh_533 ⋅ 2015/07/13 ⋅ 22

Mybatis 分页插件 3.4.1 发布

Mybatis分页插件 - PageHelper说明 如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。 该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分...

Liuzh_533 ⋅ 2014/12/24 ⋅ 31

pagehelper/Mybatis-PageHelper

Mybatis分页插件 - PageHelper 如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件。 分页插件支持任何复杂的单表、多表分页,部分特殊情况请看重要提示。 想要使用分页...

java梦想家01 ⋅ 2015/08/03 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

构建自定义组件

#前言 接上篇,因项目需由H5转到小程序,故需打造自定义对话框。而这块需使用到微信小程序的自定义组件功能。 小程序自定义组件 点击此处,可以查看小程序自定义组件的api。 从自定义组件的样...

387 ⋅ 13分钟前 ⋅ 0

Maven 项目添加本地jar包的三种方式

Maven 项目添加本地jar包的三种方式 翻译自3 ways to add local jar to maven project [TOC] 简介 在构建 Maven 项目时,有时候需要导入本地的jar包,本文介绍了三种添加本地jar包的方法。 ...

Os_yxguang ⋅ 13分钟前 ⋅ 0

long超过16位之后浏览器自动截断问题处理。

java前后端交互的过程中,定义的Long字段超过16位之后,js发生截断,从而不能跟后台数据进行匹配。 处理方法 把long型字段转成string进行处理。(可以使用json注解转换或者springmvc统一拦截...

strict_nerd ⋅ 15分钟前 ⋅ 0

一文带你搞定Integer

1.1 前言 Integer是int对应的包装类,它包含一个int类型的字段存储数据,并提供了多个基本操作,能在 int 类型和 String 类型之间互相转换。在Java5中,引入了自动装箱和自动拆箱功能,Java可...

筱虾米 ⋅ 16分钟前 ⋅ 0

Linux kernel脉络和主干总结

写在前面 前人常说,对Linux操作系统/内核的理解,是计算机行业从业者的内功,决定了你在技术领域想走多远。但内核的庞大以及学习曲线之陡峭,总让我在学习途中觉得犹如“管中窥豹”。 随着工...

Markz0928 ⋅ 31分钟前 ⋅ 0

在gcc中使用intel风格的内联汇编

很简单,内联汇编使用asm(“.intel_syntax noprefix/n”)声明一下,以后的内联汇编就可以用intel风格了,构建可执行文件时给gcc加上-masm=intel参数。 先写一个小程序测试一下: [cpp] view...

simpower ⋅ 41分钟前 ⋅ 0

NIO 之 ByteBuffer实现原理

相关文章 BIO、NIO、AIO 内部原理分析 NIO 之 Selector实现原理 NIO 之 Channel实现原理 前言 Java NIO 主要由下面3部分组成: Buffer Channel Selector 在传统IO中,流是基于字节的方式进行...

轨迹_ ⋅ 50分钟前 ⋅ 0

Jenkins docker权限问题

环境Ubuntu Server 工具 jenkins-war:2.89.2 报错信息 Cannot connect to the Docker daemon. Is the docker daemon running on this host?Build step 'Execute shell' marked build as fai......

Pulsar-V ⋅ 51分钟前 ⋅ 0

180621-一个简单的时间窗口设计与实现

如何设计一个计数的时间窗口 时间窗口,通常对于一些实时信息展示中用得比较多,比如维持一个五分钟的交易明细时间窗口,就需要记录当前时间,到五分钟之前的所有交易明细,而五分钟之前的数...

小灰灰Blog ⋅ 今天 ⋅ 0

Android之Dalvik、ART、JIT、AOT

Android之Dalvik、ART、JIT、AOT 本文内容:Dalvik、ART、JIT、AOT之间关系 本文定位:知识记录 学习过程记录,加深理解,提升文字组合表达能力。也希望能给学习的同学一些灵感 本文整理于[...

lichuangnk ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部