MyBatis+SpringMVC+SpringBootSpringBoot极简教程 · Spring Boot SpringBoot之路

09_SpringBoot集成PageHelper插件

2018-09-10  本文已影响13人  明天你好向前奔跑

@Author Jacky Wang , 转载请注明出处 https://www.jianshu.com/p/3e5ae2cad6ca

一. 步骤

  1. 引入pagehelper的Maven依赖
  2. 编写Mybatis配置类,引入PageHelper
  3. 在需要分页操作的地方引入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插件就已经完成了。

上一篇 下一篇

猜你喜欢

热点阅读