十二、MyBatis分页插件

news/2025/2/8 21:50:16/文章来源:https://www.cnblogs.com/bigcat26/p/18705453

@

目录
  • 十二、分页插件
    • 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:表示当前导航分页的数量**/@Testpublic 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分页插件

重要信息

  • 官网:https://ais.cn/u/vEbMBz


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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

htb Nunchucks walkthrough ssti + shebang绕过apparmor限制

注册发现注册失败扫描子域名 ffuf -u https://nunchucks.htb/ -w /usr/share/dirb/wordlists/common.txt -H "Host: FUZZ.nunchucks.htb" -fs 30589访问看看有啥随便输入个邮箱抓包看看 尝试ssti 注入发现确实存在在hacktrick上搜索payload https://book.hacktricks.…

P1551 亲戚

并查集还是不熟,还得练 #include<iostream> #include<set> #include<map> #include<algorithm> #include<vector> #define int long long const int N = 1e6; using namespace std; char* p1, * p2, buf[100000]; #define nc() (p1==p2 &&a…

推荐一些程序员常逛的开发者社区

前言 在信息技术日新月异的今天,程序员作为推动技术进步的重要力量,始终在探索、学习和交流的道路上不断前行。为了帮助程序员们更好地拓宽视野、提升技能,本文大姚将给大家推荐12个程序员常逛的开发者社区。 GitHub GitHub是一个功能强大、易于使用的代码托管平台。拥有庞大…

为飞牛OS基于FRP的内网穿透开启HTTPS加密

前言 玩NAS的朋友应该有比较多只是在家庭局域网使用,比如日常看看电影、备份手机照片什么的,这属于家庭局域网的使用场景。 当然了,如果你经常出差,或者过年回家不想把NAS也背回去,或者是想上班摸鱼,或者是NAS搭建游戏服务器之类的能公网访问就很有必要了。 公网访问我自…

0208《XEduHub + PySimpleGUI + PySimpleGUIWeb:在行空板上部署模型的全解析》【模型部署】

- 2月8日,晚上,19:30~21:00(主讲老师:邱奕盛)实验内容: 【模型部署】利用统一推理框架实现模型部署。 在训练好的模型基础上,设计简洁的体验界面, 最终尝试在行空板上实现完整效果的呈现,涉及 XEduHub、PySimpleGUI、PySimpleGUIWeb等工具。 import PySimpleGUI as …

DeepSeek 不再卡顿,从此告别服务器繁忙,请稍后再试(建议收藏!)

大家好,我是六哥。 由于DeepSeek真的太火了,也许你也跟我一样,常会遇到这样的情况:真的让人抓狂,10条回复里常常有9条是“服务器blabla,请稍后重试”,看到这话,就问你,谁能不崩溃? 其实仔细想想,DeepSeek的目标是AGI,算力资源更多用在探索模型上,很难兼顾几亿用户…

踩坑---注意芯片复位后引脚初始化功能

踩坑---注意复位后引脚初始化功能 背景 ​ 做综合案例训练的时候,把PB3和PB4当做了普通IO进行了配置,运行过程中发现很奇怪,怎么输出和配置的不一致。debug调试显示的IO输出和万用表量的都不一样。由于添加了其他功能代码,还把每个部分代码都抽出来单独调试,最后发现就是那…

【字符串、栈】单个char字符转为string表示

单个char转string char x = a; string c = string(1, x);string转单个char string s = "abc"; char x = s[0];string转char[](字符数组) string s = "abc"; s.c_str();(字符数组)char[]转string //直接赋值即可 char s1[4] = "abc"; string …

CF2008-Solution

【萌新场!】CF2008解析 今天带来的是 CF2008:Codeforces Round 970(Div 3)的前 8 题解析!非常入门,适合基础较弱的同学食用! Div3 的题目,往往思维含量较低,更多的是套路的教学,适合扩充知识面。 时间匆忙,难免有错漏之处,仅供娱乐! 时间限制均为 2s,内存限制均为…

WHUWC T3 极差划分

WHUWC T3 极差划分 汇集了优秀资源,懒得自己手写了 cf题目

哥斯拉流量JAVA_AES解密-日志分析

solar应急响应-日志流量分析-2 题目:新手运维小王的Geoserver遭到了攻击 小王拿到了当时被入侵时的流量,其中一个IP有访问webshell的流量,已提取部分放在了两个pcapng中了。请帮他解密该流量。 由上一题得到一个后门文件 String code="ZiFsXmEqZ3tBN2I0X1g5ektfMnY4Tl9…

第九节 文字生成 (第四部分 生成任务,大模型)

输入经过encoder得到特征,4个特征当作decoder的输入(打辅助),把标签拿过来做输入得到序列 自回归区别一步错步步错 只能串行输出多长 分类/回归(不太行)输入选到END表示结束输入:start+label 输出:label+END测试测试时没有label Beam Search在有些生成的时候,不是单纯的推测,会…