【Mybatis】10 实现分页 & 分页插件
回顾SQL分页查询
也就是说,在查询结果的最后控制返回的起始位置&记录数量
参数1:返回的开始位置
参数2:要返回的记录数
但是,如果说是只写了一个参数,直接表示参数2处理
LIMIT [start index],size;
实际开发不会只写一个参数,用户默认打开一定是从第一条开始的
即 0 ,显示的记录数
实现Mybatis的分页查询
参数的数据类型选型问题,到底怎么注入参数才算合适?

如果频繁使用,不如自己封装这样一个参数类,狂神则使用万用Map演示的
Map万能就没什么太大必要取写了,我这里则封装一个参数类好了
@Alias("limit")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class LimitSqlParam {
private Integer startIndex;
private Integer perSize;
}
把分页的方法参数写成这个
List<User> getUserByLimit(LimitSqlParam sqlParam);
Mapper的SQL配置

测试结果

使用RowBounds实现分页【补充】
SQL不需要参数注入,而是通过RowBounds对象实现,
这跟我的Limit参数类不是一个道理吗?
我们的SQL方法不需要参数实现
List<User> getUserByRowBounds();
然后SQL语句更不需要SQL参数

测试时实现注入
暂时不明白第二个参数的意义是?
这种方法是注入方法的全限定名 + RowBounds对象实现
其返回的集合泛型默认为Object,这不泛型.jpg
@Test
public void rowBoundsTest(){
logger.info("- - - - TESTING - - - -");
SqlSession sqlSession = MybatisUtil.getSqlSession(true); RowBounds rowBounds = new RowBounds(3, 4); List<User> list = sqlSession.selectList("cn.dai.mapper.UserMapper.getUserByRowBounds", null, rowBounds); for (User user: list) {
System.out.println(user);
} sqlSession.close();
}
分页插件
Mybatis Page Helper
https://pagehelper.github.io/
如何使用
https://pagehelper.github.io/docs/howtouse/
实际上是根据Mybatis官方提供的插件扩展实现的
不过详细还得仔细读文档才知道
【Mybatis】10 实现分页 & 分页插件的更多相关文章
- MyBatis学习总结_17_Mybatis分页插件PageHelper
如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件. 分页插件支持任何复杂的单表.多表分页,部分特殊情况请看重要提示. 想要使用分页插件?请看如何使用分页插件. 物理分页 该 ...
- MyBatis Generator实现MySQL分页插件
MyBatis Generator是一个非常方便的代码生成工具,它能够根据表结构生成CRUD代码,可以满足大部分需求.但是唯一让人不爽的是,生成的代码中的数据库查询没有分页功能.本文介绍如何让MyBa ...
- 九:SpringBoot-整合Mybatis框架,集成分页助手插件
九:SpringBoot-整合Mybatis框架,集成分页助手插件 1.Mybatis框架 1.1 mybatis特点 1.2 适用场景 2.SpringBoot整合MyBatis 2.1 核心依赖 ...
- mybatis对mysql进行分页
Mybatis对mysql数据库分页 在generator中增加插件,下载地址http://download.csdn.net/detail/shunlongjin/6937045 <plugi ...
- 使用jQuery开发datatable分页表格插件
当系统数据量很大时,前端的分页.异步获取方式就成了较好的解决方案.一直以来,我都希望使用自己开发的 jquery 插件做系统. 现在,学习了 jquery 插件开发之后,渐渐地也自己去尝试着开发一些简 ...
- Spring Boot mybatis HashMap +layui 通用分页
背景: mybatis 常用数据查询的方法都是先建实体类,再建Mapper,最后写Service,如果只是单纯的去查询数据显示,这样操作太麻烦.本文就以mybatis +layui创建通用分页类,简化 ...
- Java基础-SSM之mybatis的统计函数和分页查询
Java基础-SSM之mybatis的统计函数和分页查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- Oracle使用MyBatis中RowBounds实现分页查询
Oracle中分页查询因为存在伪列rownum,sql语句写起来较为复杂,现在介绍一种通过使用MyBatis中的RowBounds进行分页查询,非常方便. 使用MyBatis中的RowBounds进行 ...
- 全栈开发必备的10款 Sublime Text 插件
Sublime Text 具有漂亮的用户界面和强大的功能,例如代码缩略图,多重选择,快捷命令等.Sublime Text 更妙的是它的可扩展性.所以,这里挑选了全栈开发必备的10款 Sublime T ...
- 全栈开发必备的10款Sublime Text 插件
Sublime Text 具有漂亮的用户界面和强大的功能,例如代码缩略图,多重选择,快捷命令等.Sublime Text 更妙的是它的可扩展性.所以,这里挑选了全栈开发必备的10款 Sublime T ...
随机推荐
- 详解在Linux中同时安装配置并使用 MySQL5.7 和 MySQL8.0
最近需要使用mysql8.0版本,但是原本的mysql5.7版本已经被多个服务依赖,于是想想能不能同一台服务器装多个版本的mysql,一查确实可行,这里做一个记录方便自己后期回忆 阅读本文前请注意!! ...
- [SWPUCTF 2021 新生赛]easyrce
这道题比较简单,打开环境一看就只需要构造一个get传参的命令就行,我们就看一下有些什么文件,构造payload: ?url=system ("ls /"); 看到有个 flllll ...
- uniapp 开发微信小程序 使用微信小程序一键登录
研究了一天的uniapp开发微信小程序的第一步,登录! 刚开始使用uni.getUserInfo函数No!不行,无法运行,研究文档发现是这个函数被微信小程序团队给禁用了,OK换! 后来换成了uni.g ...
- kettle从入门到精通 第七十一课 ETL之kettle 再谈http post,轻松掌握body中传递json参数
场景: kettle中http post步骤如何发送http请求且传递body参数? 解决方案: http post步骤中直接设置Request entity field字段即可. 1.手边没有现成的 ...
- zabbix数据库
1. 安装MySQL 5.6 操作系统为CentOS7 X64 MySQL文件下载地址 http://dev.mysql.com/downloads/repo/yum/ 卸载已存在文件 rpm -qa ...
- ISCSI配置与挂载
ISCSI介绍 iSCSI使用 TCP/IP 协议,来提供网络存储. 客户端挂载后,可以对其进行分区,进行格式化,就好像是安装在本机上的硬盘一样. 为了保证传输速率,通常采用光纤. 配置环境 Cent ...
- K8s高可用集群二进制部署-V1.20
一.前置知识点 1.1 生产环境部署K8s集群的两种方式 kubeadm Kubeadm是一个K8s部署工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集 ...
- Stable Diffusion(三)Dreambooth finetune模型
1. Dreambooth Dreambooth可以把你任何喜欢的东西放入Stable Diffusion模型. 1.1. 什么是Dreambooth 最初由谷歌在2022年发布,是对SD模型的fin ...
- 深入理解Spring AOP中的@EnableAspectJAutoProxy
本文分享自华为云社区<Spring高手之路20--深入理解@EnableAspectJAutoProxy的力量>,作者: 砖业洋__. 1. 初始调试代码 面向切面编程(AOP)是一种编程 ...
- 《DNK210使用指南 -CanMV版 V1.0》第二章 Kendryte K210简介
第二章 Kendryte K210简介 1)实验平台:正点原子DNK210开发板 2)章节摘自[正点原子]DNK210使用指南 - CanMV版 V1.0 3)购买链接:https://detail. ...
