分也的相关网站:分页网站
关于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" ?>
2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
3
4 <configuration>
5 <settings>
6 <!-- 使用jdbc的getGeneratedKeys获取数据库自增主键值 -->
7 <setting name="useGeneratedKeys" value="true" />
8 <!-- 使用列别名替换列名 默认:true -->
9 <setting name="useColumnLabel" value="true" />
10 <!-- 开启驼峰命名转换:Table {create_time} -> Entity {createTime} -->
11 <setting name="mapUnderscoreToCamelCase" value="true" />
12 </settings>
13 <!--配置分页插件-->
14 <plugins>
15 <plugin interceptor="com.github.pagehelper.PageInterceptor" />
16 </plugins>
17
18 </configuration>
加载mybatis-config.xml文件。
调用:
调用PageHelper插件的方法,它只会对下面的一行代码起作用。
第一个参数是页数,第二个参数是条数,简单来说就是每一页有几条数据。
1、这是一种物理分页(就是直接通过SQL进行在数据库中直接分页,得到的数据就是我们想要分页之后的数据),假设你使用的是mysql数据库,在执行查询语气的时候,它会自动的在sql语法后面加 limit
物理分页:内存开销比较小,在数据量比较小的情况下效率比逻辑分页还是低,在数据量很大的情况下,建议使用物理分页
测试:
select 语法:
测试类:
打印测试代码
1 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
2 09:05:37.943 [main] DEBUG com.oukele.dao.CommodityMapper.selectAll_COUNT - ==> Parameters:
3 09:05:38.142 [main] DEBUG com.oukele.dao.CommodityMapper.selectAll_COUNT - <== Total: 1
4 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 ?
5 09:05:38.146 [main] DEBUG com.oukele.dao.CommodityMapper.selectAll - ==> Parameters: 3(Integer)
6 09:05:38.230 [main] DEBUG com.oukele.dao.CommodityMapper.selectAll - <== Total: 3