首先在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

最新文章

  1. linux io stack
  2. WPF开发经验
  3. 使用Bower作为Web包管理器
  4. 【HDU 5030】Rabbit&#39;s String (二分+后缀数组)
  5. 【PHP基础】位运算与原码,反码,补码
  6. web config数据库连接字符串加密
  7. c/c++ 直接使用动态库 dlopen
  8. 使用idea Live Template实现eclipse syso自动提示代码功能
  9. 一个web应用的诞生--美化一下
  10. Apriori算法(C#)
  11. react 热替换 ([HMR])
  12. Akka(38): Http:Entityof ByteString-数据传输基础
  13. Android 常见 Memory Leak 原因及解决办法总结
  14. 浏览器仿EXCEL表格插件 - 智表ZCELL产品V1.4发布
  15. strncpy, strncpy_s
  16. 自学Zabbix5.1 zabbix maintenance维护周期
  17. C#判断网站是否能访问或者宕机的方法
  18. sql Server如何执行批量插入和批量删除
  19. JS实现数字千位符格式化方法
  20. ubuntu的su初始密码设置

热门文章

  1. JVM配置参数解析
  2. Samba简单应用
  3. Ubuntu18.04两步纯小白傻瓜无脑式安装Caffe
  4. powerDesigner连接数据库连接失败
  5. 【Python】【基础知识】【内置函数】【input的使用方法】
  6. 十进制快速幂(牛客多校第五场)-- generator 1
  7. HTTPS原理(三次握手)
  8. WordPress网站搬家数据迁移完整教程
  9. ELK视频下载
  10. mybatis和spring的整合