十二、MyBatis分页插件

news2025/1/16 5:44:05

在这里插入图片描述

文章目录

  • 十二、分页插件
    • 12.1 分页插件使用步骤
    • 12.2 分页插件的使用
    • 12.3 测试案例
  • 本人其他相关文章链接

十二、分页插件

12.1 分页插件使用步骤

1. 添加依赖

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

2. 配置分页插件

在MyBatis的核心配置文件中配置插件

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

3. 在查询接口之前写上

PageHelper.startPage(int pageNum, int pageSize)

12.2 分页插件的使用

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

    • pageNum:当前页的页码
    • pageSize:每页显示的条数
  • 在查询获取list集合之后,使用PageInfo<T> pageInfo = new PageInfo<>(List<T> list, int navigatePages)获取分页相关数据

    • list:分页之后的数据
    • navigatePages:导航分页的页码数
  • 分页相关数据

    PageInfo{
    	pageNum=8, pageSize=4, size=2, startRow=29, endRow=30, total=30, pages=8,
    	list=Page{count=true, pageNum=8, pageSize=4, startRow=28, endRow=32, total=30,
    	pages=8, reasonable=false, pageSizeZero=false},
    	prePage=7, nextPage=0, isFirstPage=false, isLastPage=true, hasPreviousPage=true,
    	hasNextPage=false, navigatePages=5, navigateFirstPage4, navigateLastPage8,
    	navigatepageNums=[4, 5, 6, 7, 8]
    }
    

    常用数据:

    • pageNum:当前页的页码
    • pageSize:每页显示的条数
    • size:当前页显示的真实条数
    • total:总记录数
    • pages:总页数
    • prePage:上一页的页码
    • nextPage:下一页的页码
    • isFirstPage/isLastPage:是否为第一页/最后一页
    • hasPreviousPage/hasNextPage:是否存在上一页/下一页
    • navigatePages:导航分页的页码数
    • navigatepageNums:导航分页的页码,[1,2,3,4,5]

12.3 测试案例

/**
     * 使用MyBatis的分页插件实现分页功能:
     * 1.需要在查询功能之前开启分页才能声小
     * PageHelper.startPage(int pageNum, int pageSize)
     * 2.在查询功能之后获取分页相关信息
     * PageInfo<Brand> pageInfo = new PageInfo<>(brandList, 5);
     * list: 表示分页业数据
     * navigatePages:表示当前导航分页的数量
     **/
    @Test
    public void testMyBatis3(){
        try {
            InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
            SqlSession sqlSession1 = sqlSessionFactory.openSession(true);
            BrandMapper brandMapper = sqlSession1.getMapper(BrandMapper.class);
            PageHelper.startPage(2, 5);
            List<Brand> brandList = brandMapper.selectByExample(null);
            PageInfo<Brand> pageInfo = new PageInfo<>(brandList, 5);
            brandList.forEach(System.out::println);
            System.out.println(pageInfo);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

本人其他相关文章链接

1.一、MyBatis简介:MyBatis历史、MyBatis特性、和其它持久化层技术对比、Mybatis下载依赖包流程
2.二、搭建MyBatis采用xml方式,验证CRUD(增删改查操作)
3.三、MyBatis核心配置文件详解
4.四、MyBatis获取参数值的两种方式(重点)
5.五、MyBatis的增删改查模板(参数形式包括:String、对象、集合、数组、Map)
6.六、MyBatis特殊的SQL:模糊查询、动态设置表名、校验名称唯一性
7.七、MyBatis自定义映射resultMap
8.八、(了解即可)MyBatis懒加载(或者叫延迟加载)
9.九、MyBatis动态SQL
10.十、MyBatis的缓存
11.十一、MyBatis的逆向工程
12.十二、MyBatis分页插件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/491370.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java基本数据类型以及包装类型的常量池技术

Java 中的基本数据类型 Java 中有 8 种基本数据类型&#xff0c;分别为&#xff1a; 6 种数字类型&#xff1a; 4 种整数型&#xff1a;byte、short、int、long2 种浮点型&#xff1a;float、double 1 种字符类型&#xff1a;char1 种布尔型&#xff1a;boolean。 这 8 种基本…

Socks5 代理协议:网络安全中的利器

随着网络的普及&#xff0c;网络安全问题已成为各行各业所面临的共同难题。为了保护自己的网络安全&#xff0c;不少人选择使用代理IP&#xff0c;其中 Socks5 代理协议因其安全性、灵活性等优势备受青睐。本文将介绍 Socks5 代理协议及其在网络安全中的作用。 一、什么是 Soc…

安卓手机搭建智能语音客服/通话播音/聊天播音乐技术实现

声明&#xff0c;此项技术需要root支持&#xff0c;如果因为刷机导致手机变砖或其他不可预料的后果请自行解决。 场景 我有一个朋友他是做业务的&#xff0c;主要还是做电销&#xff0c;其实电销相对于以前纪念没那么好做了&#xff08;我自己觉得主要是互联网冲击&#xff0c…

[EIS 2019]EzPOP

[EIS 2019]EzPOP 考点&#xff1a; base64加密&#xff0c;解密的时候按4个的倍数 然后数组里面含有 php代码也可以执行 然后学到了解题思路&#xff0c;逆推然后找各个变量的初始值 <?php error_reporting(0);class A {protected $store;protected $key;protected $expire…

JAVA原生语言开发多学校Saas模式校园管理系统

开发语言&#xff1a;JAVA数据库&#xff1a;MySQL后端框架&#xff1a;Spring boot前端框架&#xff1a;VUE2电子班牌&#xff1a; Android 7.1小程序&#xff1a;原生开发多学校Saas 模式 详细技术栈 前后端分离 1、使用springboot框架Javavue2 2、数据库MySQL5.7 3、移动端…

1.数据库的管理(实验报告)

目录 一﹑实验目的 二﹑实验平台 三﹑实验内容和步骤 四﹑命令(代码)清单 五﹑命令(代码)运行结果 一﹑实验目的 了解SQL Server数据库的逻辑结构和物理结构的特点&#xff1b;掌握使用SQL Server管理平台对数据库进行管理的方法&#xff1b;掌握使用Transact-SQL语句对数…

云原生时代崛起的编程语言Go并发编程实战

文章目录 概述基础理论并发原语协程-Goroutine通道-Channel多路复用-Select通道使用超时-Timeout非阻塞通道操作关闭通道通道迭代 定时器-TimerAndTicker工作池-Worker Pools等待组-WaitGroup原子操作-Atomic互斥锁-Mutex读写互斥锁-RWMutex有状态协程单执行-Once条件-Cond上下…

交通拥堵、安全隐患、能源浪费…数字孪生技术助力城市管理现代化

随着智能城市的不断发展&#xff0c;数字孪生技术也开始在智慧城市的建设中得到了广泛应用。数字孪生作为一种数字化的复制技术&#xff0c;它可以模拟真实世界中的实体和过程。 在城市规划方面&#xff0c;数字孪生可以帮助城市规划师更加直观地了解城市的整体规划和发展趋势&…

Python爬虫常用框架

大家都知道python是一门多岗位编程语言&#xff0c;学习python之后可以从事的岗位有很多&#xff0c;python爬虫便在其中&#xff0c;不过很多人对python不是很了解&#xff0c;所以也不知道python爬虫是什么&#xff0c;接下来小编为大家介绍一下。 Python是一门非常适合开发…

Eureka注册中心及Ribbon的源码跟踪

搭建的思路: 一个Eureka注册中心, 两个微服务, 一个为order-service(订单服务), 一个为user-service(用户服务), 在order-service中需要使用user-service中的方法. 步骤: 搭建 Eureka-server服务, 用于服务的消费者和提供者注册服务向注册中心注册user-service服务向注册中心注…

即时通讯开发商如何选择?

随着即时通讯开发技术进步&#xff0c;人与人之间沟通互动更加便利。同时在企业的营销过程中&#xff0c;即时聊天手机APP为企业与消费者提供了即时互动平台&#xff0c;有效增强营销效果。 企业内部沟通、电商客服沟通都是需要用到即时通讯功能。而现在开发即时通讯功能并不是…

Yolov1 源码讲解 detect.py

讲完了训练部分 接下来是检测部分 惯例看看结构 VOC_CLASS_BGR是不同类别应该用什么颜色画框容易区分&#xff0c;比如A用红色&#xff0c;B用绿色&#xff0c;不容易在途中颜色混在一起 画框框 def visualize_boxes(image_bgr, boxes, class_names, probs, name_bgr_dictNon…

这一篇LiveData掉不掉价(使用+粘性事件解决)

1. 简介 LiveData 是一种可观察的数据存储器类。与常规的可观察类不同&#xff0c;LiveData 具有生命周期感知能力&#xff0c;意指它遵循其他应用组件&#xff08;如 activity、fragment 或 service&#xff09;的生命周期。这种感知能力可确保 LiveData 仅更新处于活跃生命周…

要创建富文本内容?Kendo UI Angular组件有专门的编辑器应对!

您的Angular应用程序可能需要允许用户添加带有格式化选项的文本、图像、表格、外观样式和/或链接&#xff0c;使用Kendo UI for Angular的编辑器&#xff0c;可以轻松搞定这些&#xff01; Kendo UI for Angular是专业级的Angular UI组件库&#xff0c;不仅是将其他供应商提供…

Final关键字的使用技巧及其性能优势

文章目录 概念Final关键字的基本用法Final关键字的使用技巧Final关键字的性能优势总结 概念 Java中的final关键字用于修饰变量、方法和类&#xff0c;可以让它们在定义后不可更改&#xff0c;从而提高程序的稳定性和可靠性。此外&#xff0c;final关键字还有一些使用技巧和性能…

YAPI--撰写接口文档的平台

1 YAPI 1.1 YAPI介绍 在前后台分离开发中&#xff0c;我们前后台开发人员都需要遵循接口文档&#xff0c;所以接下来我们介绍一款撰写接口文档的平台。 YApi 是高效、易用、功能强大的 api 管理平台&#xff0c;旨在为开发、产品、测试人员提供更优雅的接口管理服务。 其官…

opencv实践之图像拼接

目录 1.简介2. 步骤2.1 特征检测与提取2.2 关键点检测2.3 关键点和描述符2.4 特征匹配2.5 比率测试2.6 估计单应性 3. 完整代码 1.简介 图像拼接是计算机视觉中最成功的应用之一。如今&#xff0c;很难找到不包含此功能的手机或图像处理API。在本 文中&#xff0c;我们将讨论如…

Ubuntu在线安装及卸载MySQL

目录 1 安装 1.1 更新包管理工具apt-get 1.2 安装MySQL服务器端 1.3 安装MySQL客户端 1.4 初始化配置 1.5 检查MySQL服务状态 2 卸载 2.1 查看MySQL依赖项 2.2 卸载mysql-common 2.3 再卸载 mysql-server-8.0 2.4 再用dpkg --list|grep mysql查看&#xff0c;还剩什么…

MySQL -- 基础

目录 1. 数据库的操作 1.1 显示当前数据库 1.2 创建数据库 1.3 使用数据库 1.4 删除数据库 2. 常用的数据类型 2.1 数值类型 2.2 字符串类型 2.3 日期类型 3. 表的操作 3.1 查看表的结构 3.2 创建表 3.4 删除表 1. 数据库的操作 1.1 显示当前数据库 show databases; 1.2…

网络安全合规-Tisax(三)

一、什么是TISAX? TISAX 可信信息安全评估与交换标准是基于ISO 27001信息安全管理体系标准和VDA-ISA信息安全评价检查表而建立的汽车行业专用信息安全标准。TISAX 为汽车行业内不同服务商提供了信息安全评估结果互认的模式&#xff0c;供应商通过了该评估&#xff0c;即意味着…