当前位置: 首页 > news >正文

十、MyBatis分页插件

1.分页插件实现的步骤

①在pom.xml添加依赖

<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.2.0</version>
</dependency>

②配置分页插件 mybatis-config.xml

在MyBatis的核心配置文件配置插件,在typeAliases和environments之间

<plugins><!--设置分页插件--><plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>

 2.分页插件的使用

开启分页功能

  • 在查询功能之前使用PageHelper.startPage(int pageNum, int pageSize)开启分页功能

        pageNum:当前页的页码,从1开始

        pageSize:每页的显示数量

方法一:直接输出

①在CacheMapper接口里

public interface CacheMapper {/*** 查询所有员工信息*/List<Emp> getAllEmp();
}

②在CacheMappe.xml映射文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.atguigu.mybatis.mapper.CacheMapper"><select id="getAllEmp" resultType="com.atguigu.mybatis.pojo.Emp">select * from t_emp</select>
</mapper>

③测试,  Page<Object> page = PageHelper.startPage(1, 4);获取第一页的前4条数据

public class test {@Testpublic void t1() throws IOException {SqlSession sqlSession = SqlSessionUtils.getSqlSession();CacheMapper mapper = sqlSession.getMapper(CacheMapper.class);Page<Object> page = PageHelper.startPage(1, 4);List<Emp> allEmp = mapper.getAllEmp();System.out.println(page);for (Emp emp:allEmp) {System.out.println(emp);}}
}

方法二:使用PageInfo

在查询获取list集合之后,使用PageInfo<T> pageInfo = new PageInfo<>(List<T> list, int navigatePages)获取分页相关数据

  • List分页之后的数据
  • navigatePages:导航分页的页码数
@Test
public void t1() throws IOException {SqlSession sqlSession = SqlSessionUtils.getSqlSession();CacheMapper mapper = sqlSession.getMapper(CacheMapper.class);PageHelper.startPage(1, 4);List<Emp> allEmp = mapper.getAllEmp();PageInfo<Emp> page = new PageInfo<>(allEmp,3);System.out.println(page);
}
  • 常用属性
  • pageNum:当前页的页码

    pageSize:每页显示的条数

    size:当前页显示的真实条数

    total:总记录数

    pages:总页数

    prePage:上一页的页码

    nextPage:下一页的页码

    isFirstPage/isLastPage:是否为第一页/最后一页

    hasPreviousPage/hasNextPage:是否存在上一页/下一页

    navigatePages:导航分页的页码数

    navigatepageNums:导航分页的页码

http://www.lryc.cn/news/45074.html

相关文章:

  • EasyCVR平台国标GB28181协议设备接入时,可支持过滤通道类型
  • 玩转git的第1章节:git的理论以及操作规则
  • 【新2023Q2模拟题JAVA】华为OD机试 - 二叉树层次遍历
  • 轻松拿结果-第三部分 同欲 -第六章 有凝聚力才有战斗力
  • chatGPT 会给程序员带来失业潮吗?
  • Vue项目proxyTable跨域配置
  • ubuntu16.04搭建gitlab
  • SSMP综合案例
  • 让你的作品更出色——词云Word Cloud的制作方法(基于python,WordCloud,stylecloud)
  • axios请求拦截器
  • 四个常见的Linux技术面问题
  • 有什么适合程序员查资料的网站
  • (七)手把手带你搭建精美简洁的个人时间管理网站—实现登录与注册的前端代码【源码】
  • Day933.如何将设计最终落地到代码 -系统重构实战
  • 209. 长度最小的子数组
  • 【数据结构与算法】查找(Search)【详解】
  • 一文学会 Spring MVC 表单标签
  • 如何在 Windows10 下运行 Tensorflow 的目标检测?
  • 【jvm系列-04】精通运行时数据区共享区域---堆
  • ctfshow愚人杯 re easy_pyc wp
  • Ubuntu18.04 系统中本地代码上传至Gitlab库
  • Leetcode.1665 完成所有任务的最少初始能量
  • 【C++笔试强训】第一天
  • 【网络安全软件】上海道宁与Cybereason为您提供未雨绸缪的攻击保护,终结对端点、整个企业以及网络上任何角落的网络攻击
  • 基于RK3568的Android11 适配 MIPI 屏幕
  • Ubuntu安装python
  • django 运用pycharm的各种故障汇总(1)
  • 【设计模式】单例模式Singleton(Java)
  • 机器学习中的公平性
  • Docker镜像之Docker Compose讲解