回顾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 实现分页 & 分页插件的更多相关文章

  1. MyBatis学习总结_17_Mybatis分页插件PageHelper

    如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件. 分页插件支持任何复杂的单表.多表分页,部分特殊情况请看重要提示. 想要使用分页插件?请看如何使用分页插件. 物理分页 该 ...

  2. MyBatis Generator实现MySQL分页插件

    MyBatis Generator是一个非常方便的代码生成工具,它能够根据表结构生成CRUD代码,可以满足大部分需求.但是唯一让人不爽的是,生成的代码中的数据库查询没有分页功能.本文介绍如何让MyBa ...

  3. 九:SpringBoot-整合Mybatis框架,集成分页助手插件

    九:SpringBoot-整合Mybatis框架,集成分页助手插件 1.Mybatis框架 1.1 mybatis特点 1.2 适用场景 2.SpringBoot整合MyBatis 2.1 核心依赖 ...

  4. mybatis对mysql进行分页

    Mybatis对mysql数据库分页 在generator中增加插件,下载地址http://download.csdn.net/detail/shunlongjin/6937045 <plugi ...

  5. 使用jQuery开发datatable分页表格插件

    当系统数据量很大时,前端的分页.异步获取方式就成了较好的解决方案.一直以来,我都希望使用自己开发的 jquery 插件做系统. 现在,学习了 jquery 插件开发之后,渐渐地也自己去尝试着开发一些简 ...

  6. Spring Boot mybatis HashMap +layui 通用分页

    背景: mybatis 常用数据查询的方法都是先建实体类,再建Mapper,最后写Service,如果只是单纯的去查询数据显示,这样操作太麻烦.本文就以mybatis +layui创建通用分页类,简化 ...

  7. Java基础-SSM之mybatis的统计函数和分页查询

    Java基础-SSM之mybatis的统计函数和分页查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  8. Oracle使用MyBatis中RowBounds实现分页查询

    Oracle中分页查询因为存在伪列rownum,sql语句写起来较为复杂,现在介绍一种通过使用MyBatis中的RowBounds进行分页查询,非常方便. 使用MyBatis中的RowBounds进行 ...

  9. 全栈开发必备的10款 Sublime Text 插件

    Sublime Text 具有漂亮的用户界面和强大的功能,例如代码缩略图,多重选择,快捷命令等.Sublime Text 更妙的是它的可扩展性.所以,这里挑选了全栈开发必备的10款 Sublime T ...

  10. 全栈开发必备的10款Sublime Text 插件

    Sublime Text 具有漂亮的用户界面和强大的功能,例如代码缩略图,多重选择,快捷命令等.Sublime Text 更妙的是它的可扩展性.所以,这里挑选了全栈开发必备的10款 Sublime T ...

随机推荐

  1. Linux下,安装单机版Flink

    安装前准备 jdk环境 开始安装 下载安装包 地址1:https://archive.apache.org/dist/flink/flink-1.18.0/flink-1.18.0-bin-scala ...

  2. springboot项目中一些小技巧

    一.使用命令创建maven工程 1.例如我们想在IDEA的工作空间目录下E:\Gitee\springboot,创建maven项目,首先先进入该目录下 2.去掉原来的目录,输入cmd,然后回车,进入命 ...

  3. MySQL数据库开发(2)

    单表查询 单表查询即对单个表进行查询. 单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY fie ...

  4. 实战 k8s----初识

    什么是k8s?k8s是谷歌开源的一套完整的容器管理平台,方便我们直接管理容器应用.谷歌称之为,kubernetes,[kubə'netis] ,(跟我一起读库波尔耐题思,重音在耐的音上),由于字母太多 ...

  5. JS 过滤掉两个数组中对象id值相等的项

    const arr1 = [{ id: 1, name: '老二' }]; const arr2 = [{ id: 1, name: '网' }, { id: 2, name: '二位' },{ id ...

  6. unsupported operand type(s) for +: 'function' and 'str'

    unsupported operand type(s) for +: 'function' and 'str' 报错解释:这个错误表明你尝试将一个函数和一个字符串进行加法操作,在Python中,加法不 ...

  7. feildconfig

    <template> <div style="float:left;width: 100%"> <el-row> <el-col :spa ...

  8. zabbix---监控Oracle12c数据库

    使用插件:orabbix用于监控oracle实例的zabbix插件 orabbix插件下载地址:http://www.smartmarmot.com/product/orabbix/download/ ...

  9. 海思SDK 学习 :001-HI_SDK 的 安装

    背景 保密.不管怎么样接触到了海思SDK的开发,作为一项比较常见的技术,我们开展有关地学习. host平台 :Ubuntu 16.04 arm平台 : 3531d arm-gcc :4.9.4 概况 ...

  10. 2024年,AI驱动测试管理工具会有哪些发展前景呢?

    随着人工智能技术的日新月异,2024年的测试管理工具将迎来全新的发展机遇.AI赋能将助力测试管理工具实现前所未有的智能化升级,为软件研发团队带来革命性的变革. 一.什么是AI? 人工智能(AI)是一种 ...