mybatis 分页插件PageHelper的简单使用
首先在pom.xml配置文件中增加相关的插件。
插件地址:https://github.com/pagehelper/Mybatis-PageHelper

<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.7</version>
</dependency>
新建一个mybatis-config.xml 的文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration>
<settings>
<!-- 使用jdbc的getGeneratedKeys获取数据库自增主键值 -->
<setting name="useGeneratedKeys" value="true" />
<!-- 使用列别名替换列名 默认:true -->
<setting name="useColumnLabel" value="true" />
<!-- 开启驼峰命名转换:Table {create_time} -> Entity {createTime} -->
<setting name="mapUnderscoreToCamelCase" value="true" />
</settings>
<!--配置分页插件-->
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor" />
</plugins> </configuration>
加载mybatis-config.xml文件。

调用:
调用PageHelper插件的方法,它只会对下面的一行代码起作用。
第一个参数是页数,第二个参数是条数,简单来说就是每一页有几条数据。
1、这是一种物理分页(就是直接通过SQL进行在数据库中直接分页,得到的数据就是我们想要分页之后的数据),假设你使用的是mysql数据库,在执行查询语气的时候,它会自动的在sql语法后面加 limit 
物理分页:内存开销比较小,在数据量比较小的情况下效率比逻辑分页还是低,在数据量很大的情况下,建议使用物理分页
测试:
select 语法:

测试类:

打印出来的日志:
(通过日志,第4行,我们可以看出,当我们使用PageHelper.startPage这种物理方法的时候,它是自动在我调用的select后面加上了limit进行了分页查询)
09:05:37.911 [main] DEBUG com.oukele.dao.CommodityMapper.selectAll_COUNT - ==> Preparing: SELECT count(0) FROM commodity c LEFT JOIN stock s ON c.stock_id = s.stock_id LEFT JOIN commodity_company cp ON c.commodity_company_id = cp.commodity_company_id
09:05:37.943 [main] DEBUG com.oukele.dao.CommodityMapper.selectAll_COUNT - ==> Parameters:
09:05:38.142 [main] DEBUG com.oukele.dao.CommodityMapper.selectAll_COUNT - <== Total: 1
09:05:38.145 [main] DEBUG com.oukele.dao.CommodityMapper.selectAll - ==> Preparing: select * from commodity c left join stock s on c.stock_id = s.stock_id left join commodity_company cp on c.commodity_company_id=cp.commodity_company_id LIMIT ?
09:05:38.146 [main] DEBUG com.oukele.dao.CommodityMapper.selectAll - ==> Parameters: 3(Integer)
09:05:38.230 [main] DEBUG com.oukele.dao.CommodityMapper.selectAll - <== Total: 3
mybatis 分页插件PageHelper的简单使用的更多相关文章
- Mybatis分页插件PageHelper的配置和使用方法
Mybatis分页插件PageHelper的配置和使用方法 前言 在web开发过程中涉及到表格时,例如dataTable,就会产生分页的需求,通常我们将分页方式分为两种:前端分页和后端分页. 前端分 ...
- Java SSM框架之MyBatis3(三)Mybatis分页插件PageHelper
引言 对于使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真不想花双倍的时间写count和select ...
- Mybatis分页插件PageHelper的实现
Mybatis分页插件PageHelper的实现 前言 分页这个概念在做web网站的时候很多都会碰到 说它简单吧 其实也简单 小型的网站,完全可以自己写一个,首先查出数据库总条数,然后按照分页大小分为 ...
- Mybatis分页插件-PageHelper的使用
转载:http://blog.csdn.net/u012728960/article/details/50791343 Mybatis分页插件-PageHelper的使用 怎样配置mybatis这里就 ...
- Mybatis分页插件PageHelper使用
一. Mybatis分页插件PageHelper使用 1.不使用插件如何分页: 使用mybatis实现: 1)接口: List<Student> selectStudent(Map< ...
- Mybatis学习---Mybatis分页插件 - PageHelper
1. Mybatis分页插件 - PageHelper说明 如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件. 该插件目前支持Oracle,Mysql,MariaDB,S ...
- 基于Mybatis分页插件PageHelper
基于Mybatis分页插件PageHelper 1.分页插件使用 1.POM依赖 PageHelper的依赖如下.需要新的版本可以去maven上自行选择 <!-- PageHelper 插件分页 ...
- (转)淘淘商城系列——MyBatis分页插件(PageHelper)的使用以及商品列表展示
http://blog.csdn.net/yerenyuan_pku/article/details/72774381 上文我们实现了展示后台页面的功能,而本文我们实现的主要功能是展示商品列表,大家要 ...
- springmvc mybatis 分页插件 pagehelper
springmvc mybatis 分页插件 pagehelper 下载地址:pagehelper 4.2.1 , jsqlparser 0.9.5 https://github.com/pagehe ...
随机推荐
- MATLAB灰色关联度分析
目录 1.释名 2.举例 3.操作步骤与原理详解 4.总结 5.附录:MATLAB代码 @ 1.释名 灰色关联度分析(Grey Relation Analysis,GRA),是一种多因素统计分析的方法 ...
- 解决pip安装第三方包编码错误:UnicodeDecodeError: 'ascii' codec can't decode byte....
.../python27/Lib/mimetypes.py 在 import之后添加下列内容 if sys.getdefaultencoding() != 'gbk': reload(sys) sys ...
- Star all over again.
0x00前言 经过了一上午的折腾之后,博客的界面勉强可观,今天下午将之前的所有博客全部删除,重新开始写属于自己的博客,而不是只把它当作一个收藏夹,转载其他人的文章. 0x01近来感想 有感而发,随便写 ...
- webdriervAPI(By声明定位方法)
from selenium import webdriver from selenium.webdriver.common.by import By 导入By方法 driver = w ...
- bochs 2.6.8 常用命令集合
b addr 在物理地址处设置断点 addr为物理内存地址,不加段基址 lb 在线性地址处设置断点 addr为线性物理地址,不加基址 vb 在虚拟地址上设置断点 addr为段基址:偏移地址, cs段 ...
- 如何在java中去除中文文本的停用词
1. 整体思路 第一步:先将中文文本进行分词,这里使用的HanLP-汉语言处理包进行中文文本分词. 第二步:使用停用词表,去除分好的词中的停用词. 2. 中文文本分词环境配置 使用的HanLP-汉 ...
- Fiddle-常用设置和操作记录
1.导出证书: 2.清空屏幕: 3.字段认识 4.保存会话: 5.解码
- iframe高度/宽度自适应(使用body而不是docuemntElement对象)
iframe在ie11中会显示过于短.为了自适应,增加如下代码: <iframe *** onload='changeFrameHeight()' > <script> fun ...
- mysql以及mysql bench安装教程
首先,我们需要去官网下载mysql(这里以下载) 1 2 3 4 5 下载好了自己好了之后,点击安装好的东西出现如下界面: 1.接受使用条款并点击next 2.点击custom,可以根据个人习惯进行安 ...
- 在Qt5使用中文(vs环境)
如果是使用mingw版本的Qt create, 也就是使用GCC编译器应该没那么多事吧. 不过我还是用惯了VS呢. 好了,废话不多说,开始总结vs下乱码的解决方案. vs2003 把源码存成 utf- ...