IPage分页插件

①Mapper 定义分页查询接口,入参及返回值需要有IPage类型

IPage<PatientInfo> getPatientPage(IPage<PatientInfo> page,@Param("option") QueryOption option);

②编写映射文件xml

<select id = "getPatientPage" resultMap="getPatientPageMap">select * from view_patient_info<where><if test="option.patientId != null">and patient_id = #{option.patientId}</if></where>
</select>

③在service中调用mapper接口

public IPage<PatientInfo> getPatientInfoPage(QueryOption option){IPage<PatientInfo> page = new Page<>(option.getPageNum(),option.getPageSize());baseMapper.getPatientPage(page,option);return page;
}

这样就可以了。

PageHelper

①引入依赖

<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.3.1</version>
</dependency>

②在service中调用mapper接口

PageHelper不需要在Mapper接口中加入Page参数,可以直接用原先的Mapper里的List查询接口。

public PageInfo<PatientInfo> getPatientInfoPage(QueryOption option){PageHelper.startPage(option.getPageNum(),option.getPageSize());List<PatientInfo> list = baseMapper.getPatientList(option);PageInfo<PatientInfo> pageInfo = new PageInfo<>(list);return pageInfo;
}

总结:

IPage是MybatisPlus自带的插件,不需要额外引入依赖,但查询分页需要定义包含IPage类型的参数的专门接口。

PageHelper需要引入额外的依赖,但不强制要求使用包含分页参数的专门接口,可以直接使用已有的List查询接口。

另外它们返回的数据结构也有一点小区别。前端对接的时候要注意。

PageHelper与MyBatisPlus IPage分页插件的使用区别相关推荐

  1. MyBatis-Plus中分页插件IPage的使用

    MyBatis-Plus中分页插件IPage的使用 使用步骤: 1.服务层的接口需要继承 IService<实体类> ,定义分页查询方法,其返回值类型是 IPage<实体类> ...

  2. limt和(pagehelper或者page分页插件)的区别

    limit mysql当中的分页SQL应该怎么写? ①使用limit关键字,语法格式:limit startIndex,pageSize ②第⼀个数字:startIndex(起始下标,下标从0开始) ...

  3. 员工管理 Mybatis-Plus的分页插件

    员工管理 Mybatis-Plus的分页插件 1.员工管理准备工作 分页插件配置类 分页公共响应类 全局日期转换类 员工类 2.获取所有员工分页查询 EmployeeController IEmplo ...

  4. [MyBatisPlus]Plus分页插件的配置和使用

    Plus分页插件的配置和使用 配置类 package com.xxxx.mybatisplus.config;import com.baomidou.mybatisplus.annotation.Db ...

  5. MybatisPlus IPage分页无效

    1.检查依赖是否正确 <!-- Mybatis带分页插件 --> <dependency><groupId>com.baomidou</groupId> ...

  6. 使用mybatis-plus的分页插件在开启join优化后,当出现cs、ur、uu等 隔离级别的关键字sql优化时会出现大量警告

    版本 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot- ...

  7. 分页查询 com.github.pagehelper 5.1.10 分页插件配置

    pom.xml deptService.java deptController.java com.github.pagehelper 为5.1.10版本  使用PageInterceptor插件进行查 ...

  8. MyBatis-Plus分页插件IPage的使用展示------分页查询

    使用了Mybatis-plus的分页插件----IPage: IPage 需要在dao层传入IPage的实现类Page对象,该对象实现了IPage IPage内部原理是基于拦截器,拦截的是方法以及方法 ...

  9. PageHelper——一款Mybatis的分页插件

    PageHelper是mybatis一个分页插件,原理就是基于mybatis拦截器,可以用它完成分页 MyBatis提供了拦截器接口,我们可以实现自己的拦截器, 将其作为一个plugin装入到SqlS ...

最新文章

  1. linux php环境升级,php5.6升级到php7.1.10(Linux环境)
  2. Redux 学习总结 (React)
  3. 【IOS 开发】Objective - C 语法 之 流程控制
  4. 《 第一行代码 》读后感
  5. HDUOJ --2523
  6. 不同分支设置不同的远程仓库
  7. 用python玩转数据答案_大学mooc2020用Python玩转数据课后答案
  8. Android消息驱动Handler类分析
  9. sublime text3怎么运行python代码_Sublime Text3配置在可交互环境下运行python快捷键
  10. 【泛微Ecology9.0】安装\启用非标功能
  11. 【Lintcode】541. Zigzag Iterator II
  12. 【网启树莓派】无SD卡 从网络驱动树莓派| raspberry boot via pxe
  13. EMC EMI EMS 介绍
  14. 如何在线把pdf转换成word转换器
  15. C解析8583报文55域
  16. 解决问题:UnicodeDecodeError utf-8 codec cant decode byte 0xb5 in position 116:
  17. mysql update convert_Oracle/云MySQL/MsSQL“大迁移”真相及最优方案
  18. linux关闭虚拟网卡,KVM---关闭虚拟网卡virbr0的方法
  19. 使用data breakpoint 追踪地址寄存器被修改的问题
  20. 软件测试工程师简历项目经验怎么写?--1000个已成功入职的软件测试工程师简历范文模板(真实简历)

热门文章

  1. 对讲机服务器信号不好怎么办呢,对讲机室内信号不好怎么办?
  2. yahoo外链查询工具关闭后的替代
  3. matlab学位论文绘图美化工具_学术论文绘图matlab版
  4. 【techQA】安装Windows Platform SDK v7.1出现提示Some Windows SDK components require the RTM .NET Framework 4
  5. B.背单词 。。 KMP。模板题
  6. 【NLP基础理论】01 数据预处理
  7. Revit二次开发知识分享(十七)梁板柱开洞的使用
  8. 数据包络分析及模糊综合评价法各自的优点,缺点,应用范围
  9. 2022-12-16 mysql列存储引擎-YP-上下文记录
  10. 商米设备开发之-支付