@Author Jacky Wang , 转载请注明出处 https://www.jianshu.com/p/3e5ae2cad6ca
一. 步骤
- 引入pagehelper的Maven依赖
- 编写Mybatis配置类,引入PageHelper
- 在需要分页操作的地方引入PageHelper插件
二. 实现
2.1 引入pagehelper的Maven依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.0</version>
</dependency>
2.2 编写Mybatis配置类引入PageHelper插件
import java.util.Properties;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.context.annotation.Bean;
import com.github.pagehelper.PageHelper;
@SpringBootConfiguration
public class MybatisConfig {
@Bean
public PageHelper pageHelper() {
PageHelper pageHelper = new PageHelper();
Properties properties = new Properties();
properties.setProperty("offsetAsPageNum", "true");
properties.setProperty("rowBoundsWithCount", "true");
properties.setProperty("reasonable", "true");
properties.setProperty("dialect", "mysql"); // 配置mysql数据库的方言
pageHelper.setProperties(properties);
return pageHelper;
}
}
2.3 使用PageHelper
使用pagehelper分页查询步骤:
1. 在sql查询前使用 PageHelper.startPage(page,pageSize,sort);//参数1:当前页,参数2:每页展示记录数,参数3:排序
2. sql语句执行获得结果
3. 将查询结果放入PageInfo中,分页相关数据就都在PageInfo对象中了
eg: pageInfo.getPageSize(),pageInfo.getTotal(),pageInfo.getPageNum(),pageInfo.getPages(),pageInfo.getList()等等
// 分页查询支持
PageHelper.startPage(deviceDTO.getCurrentPage(), deviceDTO.getPageSize(), "lastOnlineDate desc");
paramMap.put(ForeverConst.Params.PARAM_STATUS, status);
List<Device> totalDeviceList = baseDeviceService.selectListByMap(paramMap);
PageInfo<Device> pageInfo = new PageInfo<>(totalDeviceList);
DreamResponse<Device> respData = DreamResponse.createOKResponse("查询客户拥有的设备列表成功");
respData.setData(pageInfo.getList());
至此,SpringBoot集成PageHelper插件就已经完成了。