前言

分页可以通过数据库层面或者Java层面甚至插件都可以实现

一、分页是什么?

分页可以这样理解,我们想让每页显示多少数据就显示多少数据。

二、作用

加快数据检索速率,减少数据的使用量

三、如何实现

通过数据库层面

<select id="getUserByLimit" resultMap="userMap" parameterType="map">select * from mybatis.user limit #{startIndex},#{pageSize}
</select>
@Testpublic void getUserByLimit(){SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);HashMap<String, Integer> map = new HashMap<>();map.put("startIndex",0);map.put("pageSize",4);List<User> userList = mapper.getUserByLimit(map);for (User user : userList) {System.out.println(user);}sqlSession.close();}

通过Java层面

<select id="getUserByLimit2" resultMap="userMap" >select * from mybatis.user
</select>

通过RowBounds实现

@Testpublic void getUserByLimit2(){SqlSession sqlSession = MybatisUtils.getSqlSession();//通过RowBounds实现RowBounds rowBounds = new RowBounds(0,4);//java层面的分页实现List<User> userList = sqlSession.selectList("com.shan.dao.UserMapper",null, rowBounds);for (User user : userList) {System.out.println(user);}sqlSession.close();}

通过插件实现(了解)

可以使用分页插件PageHelper去实现,了解一下即可!

总结

只要get到一个点就够了,分页的实质就是limit!

mybatis学习3之分页的实现相关推荐

  1. MyBatis多参数传递之Map方式示例——MyBatis学习笔记之十三

    前面的文章介绍了MyBatis多参数传递的注解.参数默认命名等方式,今天介绍Map的方式.仍然以前面的分页查询教师信息的方法findTeacherByPage为例(示例源代码下载地址:http://d ...

  2. MyBatis多参数传递之混合方式——MyBatis学习笔记之十五

    在本系列文章的<MyBatis多参数传递之Map方式示例>一文中,网友mashiguang提问如下的方法如何传递参数:public List findStudents(Map condit ...

  3. mybatis学习与理解

    mybatis学习 mybatis框架:是一个框架,早期叫做ibatis,代码在github mybatis是MyBatis SQL Framework for Java(sql映射框架) sql m ...

  4. mybatis学习10

    Mybatis允许在己映射语句执行过程中的某一点进行拦截调用.MyBatis 允许使用插件来拦截的接口和方法包括以下几个: 接口或方法 描述 Executor ( update. query. flu ...

  5. 【Mybatis】Mybatis学习由浅入深(二)

    前言   上篇介绍到了Mybatis的优缺点,这篇接下来介绍一下流程情况和配置信息. MyBatis简介 Mybatis工作流程 加载配置信息初始化 通过配置文件或注解将配置信息加载成Statemen ...

  6. 狂神说——Mybatis 学习

    [狂神说Java]Mybatis最新完整教程IDEA版通俗易懂 Mybatis 笔记及源码 Mybatis 中文文档 Mybatis 案例源码 狂神说--Mybatis 学习 简介 什么是Mybati ...

  7. 超详细Mybatis学习笔记(可供下载)

    文章目录 1.简介 2.第一个Mybatis程序 搭建环境 编写代码 测试 3.CRUD(增删改查) 3.1.几个属性 3.2.select 3.3.insert 3.4.delete 3.5.upd ...

  8. mybatis学习(2)

    一.接口代理方式实现Dao 1.1 代理开发方式介绍 ​ 采用 Mybatis 的代理开发方式实现 DAO 层的开发,这种方式是我们后面进入企业的主流. Mapper 接口开发方法只需要程序员编写Ma ...

  9. Mybatis学习心得

    Mybatis学习心得 环境:百度配置 回顾: 1. JDBC 2. Mysql 3. java基础 4. Maven 5. Junit 一.Mybits简述: 1.1什么是Mybist? MyBat ...

最新文章

  1. [C#项目开源] MongoDB 可视化管理工具 (2011年10月-至今)
  2. 移动硬盘不能识别,设备管理器中显示黄色感叹号
  3. shell高级视频答学生while循环问题
  4. mysql 随机查询数据
  5. LoadRunner 12.02 安装教程及中文语言包安装
  6. 掘金浏览器插件安装图文教程
  7. Problem A: 童年生活二三事
  8. 根据两个日期字符串,格式为(YYYY-MM-DD),获取年龄,保留两位小数但不四舍五入...
  9. 2020 年,React.js 开发者如何更好地修炼内功?
  10. 〔转〕Word域的应用和详解2_等式和公式域
  11. 提纲挈领webrtc音频处理算法之写在前面的话
  12. 深度学习中的几个概念
  13. 电影《绿箭侠第一季》迅雷中英双字下载地址
  14. 忘记电脑密码的解决方法——使用pe工具重置电脑密码
  15. AD PCB布板提示The following exception occurred whilst loading section primitive paramenters...解决方法
  16. java servlet验证码_Servlet 实现验证码
  17. SegeX SgxVariantArrayT:VC封装支持多维数组的变体类型(VRIANT 、SafeArray)(附免费免积分源代码)
  18. 系统工程--011详细设计 伪码 程序流程图 PAD图 N-S图 判断表和判断树
  19. Linux_标准IO
  20. 关于make提示must been abled with the -std=c++11 or -std=gnu++11 compiler options

热门文章

  1. AUC 评价指标详解,准确率(ACC),敏感性(sensitivity),特异性(specificity)计算 Python3【TensorFlow2入门手册】
  2. Python入门100题 | 第012题
  3. 深度学习100例-卷积神经网络(CNN)实现mnist手写数字识别 | 第1天
  4. Cracer渗透视频课程学习笔记——漏洞分析
  5. 网络爬虫--之爬起校招信息代码
  6. 第三章 函数编程
  7. Java定位CPU使用高问题--转载
  8. The LMAX disruptor Architecture--转载
  9. java/php/c#版rsa签名以及java验签实现--转
  10. 副业,程序猿的第二职业,聊聊我是怎么做的