当前位置: 首页 > 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:导航分页的页码

相关文章:

十、MyBatis分页插件

1.分页插件实现的步骤 ①在pom.xml添加依赖 <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.2.0</version> </dependency>②配置分页插件 mybatis-config.xml 在MyB…...

EasyCVR平台国标GB28181协议设备接入时,可支持过滤通道类型

EasyCVR基于云边端智能协同架构&#xff0c;能支持海量视频的轻量化接入与集中汇聚管理&#xff0c;平台可支持多协议接入&#xff0c;包括市场主流标准协议与厂家私有协议及SDK&#xff0c;如&#xff1a;国标GB28181、RTMP、RTSP/Onvif、海康Ehome、海康SDK、宇视SDK等&#…...

玩转git的第1章节:git的理论以及操作规则

一 git原理 1.1 git的操作原理 上图是Git与提交有关的三个命令对应的操作&#xff1a; Add命令是把文件从IDE的工作目录添加到本地仓库的stage区&#xff0c; Commit命令把stage区的暂存文件提交到当前分支的仓库&#xff0c;并清空stage区。 Push命令把本地仓库的提交同步…...

【新2023Q2模拟题JAVA】华为OD机试 - 二叉树层次遍历

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧本篇题解:二叉树层次遍历 题目 有一棵…...

轻松拿结果-第三部分 同欲 -第六章 有凝聚力才有战斗力

第三部分 同欲 “上下同欲者胜”,同结果、共承担,不仅是打造销售铁军军魂的必要条件,也能让成员们对每个结果负责,更好更快实现目标。 第六章 有凝聚力才有战斗力 管理者有担当才能上下齐心 苦劳是自己的,功劳是团队的 做管理者,就要做好承受苦劳奉献功劳的心理准备 学…...

chatGPT 会给程序员带来失业潮吗?

AIChatGPT根本不是取代普通人工作&#xff0c;让很多人失业那么简单。他现在直接革的是世界级巨头的命&#xff0c;你从他们的反应就能看出来这个人工智能将掀起一场怎样规模的战争&#xff0c;什么腾讯百度纷纷研发自己的版本&#xff0c;谷歌是直接拉响红色警报&#xff0c;那…...

Vue项目proxyTable跨域配置

Vue项目proxyTable跨域配置文章说明proxyTable跨域配置config / dev.env.jsconfig / prod.env.jsconfig / index.jsutils / request.js接口api.js路径转换解析文章说明 学习连接 - 重要❤ - 一文详解vue-cli2.0与vue-cli3.0之间的区别 1. vue cli 2.0项目2. 本地运行时&#x…...

ubuntu16.04搭建gitlab

ubuntu16.04搭建gitlab 目录ubuntu16.04搭建gitlab一、在虚拟机ubuntu16.04安装gitlab二、配置gitlab三、使用gitlab四、踩坑记录工作中遇到需要在远端服务器搭建gitlab&#xff0c;耗时4天&#xff0c;踩坑无数&#xff0c;特此开个虚拟机再次搭建一次gitlab并记录供以后参考&…...

SSMP综合案例

案例实现方案分析 实体类开发————使用Lombok快速制作实体类 Dao开发————整合MyBatisPlus&#xff0c;制作数据层测试类 Service开发————基于MyBatisPlus进行增量开发&#xff0c;制作业务层测试类 Controller开发————基于Restful开发&#xff0c;使用PostM…...

让你的作品更出色——词云Word Cloud的制作方法(基于python,WordCloud,stylecloud)

让你的作品更出色—— 词云Word Cloud的制作方法&#xff08;基于python) 本文目录&#xff1a; 一、词云的简介 二、 实现原理和流程 1、制作词云流程图 2、词云实现原理 三、 实现词云的方式 1、安装词云相关模块库 2、WordCloud库 3、stylecloud库 四、总结 一、词…...

axios请求拦截器

在vue项目中&#xff0c;通常使用axios与后台进行数据交互&#xff0c;axios是一款基于promise封装的库&#xff0c; axios特性&#xff1a; 1、axios 是一个基于promise的HTTP库&#xff0c;支持promise所有的API 2、浏览器端/node端&#xff08;服务器端&#xff09;都可以…...

四个常见的Linux技术面问题

刚毕业要找工作了&#xff0c;只要是你找工作就会有面试这个环节&#xff0c;那么在面试环节中&#xff0c;有哪些注意事项值得我的关注呢&#xff1f;特别是专业技术岗位&#xff0c;这样的岗位询问一般都是在职的工程师&#xff0c;如何在面试环节更好地理解面试官的问题&…...

有什么适合程序员查资料的网站

当今信息爆炸的时代&#xff0c;程序员每天需要花费大量的时间查找相关技术文档、知识和工具。但是&#xff0c;因为互联网上的内容如此之多&#xff0c;选择合适的网站可以成为一项艰巨的任务。在本文中&#xff0c;我们将介绍几个适合程序员查资料的网站&#xff0c;并详细阐…...

(七)手把手带你搭建精美简洁的个人时间管理网站—实现登录与注册的前端代码【源码】

&#x1f31f;所属专栏&#xff1a;献给榕榕 &#x1f414;作者简介&#xff1a;rchjr——五带信管菜只因一枚 &#x1f62e;前言&#xff1a;该专栏系为女友准备的&#xff0c;里面会不定时发一些讨好她的技术作品&#xff0c;感兴趣的小伙伴可以关注一下~&#x1f449;文章简…...

Day933.如何将设计最终落地到代码 -系统重构实战

如何将设计最终落地到代码 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于如何将设计最终落地到代码的内容。 这要将各个组件拆分到独立的模块工程中&#xff0c;最终将架构设计落地到代码中。 组件化架构重构 5 个关键的步骤分别是&#xff1a; 设计守护解耦移动…...

209. 长度最小的子数组

209. 长度最小的子数组 力扣题目链接(opens new window) 给定一个含有 n 个正整数的数组和一个正整数 s &#xff0c;找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组&#xff0c;并返回其长度。如果不存在符合条件的子数组&#xff0c;返回 0。 示例&#xff1a; 输入…...

【数据结构与算法】查找(Search)【详解】

文章目录查找查找概论一、查找的基本概念顺序表查找一、定义二、算法有序表查找一、折半查找二、插值查找三、斐波那契查找线性索引查找一、稠密索引二、分块索引三、倒排索引二叉树排序与平衡二叉树一、二叉排序树1、定义2、二叉排序树的常见操作3、性能分析二、平衡二叉树1、…...

一文学会 Spring MVC 表单标签

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

如何在 Windows10 下运行 Tensorflow 的目标检测?

前言 看过很多博主通过 Object Detection 实现了一些皮卡丘捕捉&#xff0c;二维码检测等诸多特定项的目标检测。而我跟着他们的案例来运行的时候&#xff0c;不是 Tensorflow 版本冲突&#xff0c;就是缺少什么包&#xff0c;还有是运行官方 object_detection_tutorial 不展示…...

【jvm系列-04】精通运行时数据区共享区域---堆

JVM系列整体栏目 内容链接地址【一】初识虚拟机与java虚拟机https://blog.csdn.net/zhenghuishengq/article/details/129544460【二】jvm的类加载子系统以及jclasslib的基本使用https://blog.csdn.net/zhenghuishengq/article/details/129610963【三】运行时私有区域之虚拟机栈…...

抖音内容下载技术方案:多策略架构与智能下载引擎实现

抖音内容下载技术方案&#xff1a;多策略架构与智能下载引擎实现 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppor…...

用Python手搓一个简易飞行仿真器:从状态机到轨迹计算的保姆级教程

用Python手搓一个简易飞行仿真器&#xff1a;从状态机到轨迹计算的保姆级教程 飞行仿真技术听起来像是航空航天工程师的专属领域&#xff0c;但你知道吗&#xff1f;用Python和一些基础库&#xff0c;我们完全可以构建一个简化版的飞行仿真系统。本文将带你从零开始&#xff0…...

从零入门大模型应用开发:收藏这份学习清单,轻松转型高薪岗位!

文章指出当前AI应用开发社招要求已提升&#xff0c;不再满足于简单的API调用或Demo实现。文章警示三类人慎入AI开发社招&#xff0c;并强调能力复合化、工程深度和业务理解的重要性。作者分享了四年AI开发经验&#xff0c;建议深入原理、重构项目经验&#xff0c;并给出了量化解…...

3步让旧款iOS设备重获新生:Legacy-iOS-Kit性能拯救全指南

3步让旧款iOS设备重获新生&#xff1a;Legacy-iOS-Kit性能拯救全指南 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to restore/downgrade, save SHSH blobs, jailbreak legacy iOS devices, and more 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit …...

OpenClaw+Phi-3-vision-128k-instruct医疗辅助:医学影像报告自动生成系统

OpenClawPhi-3-vision-128k-instruct医疗辅助&#xff1a;医学影像报告自动生成系统 1. 医疗AI落地的隐私合规挑战 去年参与某三甲医院科研项目时&#xff0c;我深刻体会到医疗AI落地的核心矛盾——技术潜力与隐私合规的冲突。当时我们需要处理数千份CT影像&#xff0c;传统人…...

基于Qwen3-ASR的智能会议纪要系统:从语音识别到文本摘要全流程

基于Qwen3-ASR的智能会议纪要系统&#xff1a;从语音识别到文本摘要全流程 1. 系统整体效果展示 今天给大家展示一个基于Qwen3-ASR-1.7B语音识别模型构建的智能会议纪要系统。这个系统不仅能准确识别会议中的语音内容&#xff0c;还能自动区分不同说话人&#xff0c;提取关键…...

上海计算机学会2026年2月月赛C++丙组T1 乘积的秘密

乘积的秘密 题目描述 给定两个整数 A 与 B&#xff0c;保证 A ≤ B。请求出从 A 一直乘到 B 的符号&#xff1a; 如果乘积大于 0&#xff0c;输出 Positive&#xff1b;如果乘积小于 0&#xff0c;输出 Negative&#xff1b;如果乘积等于 0&#xff0c;输出 Zero。 输入格式 两…...

企业级数据治理最后一公里:Polars 2.0清洗审计日志、血缘追踪与合规性验证(GDPR-ready)

第一章&#xff1a;企业级数据治理最后一公里&#xff1a;Polars 2.0清洗审计日志、血缘追踪与合规性验证&#xff08;GDPR-ready&#xff09;在现代数据平台中&#xff0c;审计日志的结构化清洗与可追溯性验证常成为数据治理落地的瓶颈。Polars 2.0 凭借其零拷贝惰性执行引擎、…...

文脉定序入门指南:文脉定序镜像更新策略与版本兼容性管理规范

文脉定序入门指南&#xff1a;文脉定序镜像更新策略与版本兼容性管理规范 1. 认识文脉定序系统 文脉定序是一款专门用于提升信息检索精度的智能语义重排序平台。在传统搜索系统中&#xff0c;经常会出现"搜得到但排不准"的问题——系统能找到相关文档&#xff0c;但…...

三次握手,四次挥手速记版

本文同步发表于微信公众号&#xff0c;微信搜索 程语新视界 即可关注&#xff0c;每个工作日都有文章更新 三次握手和四次挥手是 TCP 协议中建立与关闭连接的关键机制&#xff0c;常因流程抽象而难以记忆。结合权威资料和通俗类比&#xff0c;以下是‌清晰、易记的要点‌&#…...