博为峰JavaEE技术文章 ——MyBatis RowBounds分页
2019独角兽企业重金招聘Python工程师标准>>>
我们知道,在查询数据库时,如果数据库表中的数据比较多,都会使用到分页技术。Mybatis也支持分页查询,可以借助RowBounds对象,对数据分页,但是,基于RowBounds的分页是对ResultSet结果集进行分页,也就是逻辑分页,并不是物理分页。换句话说,也就是先把数据库中的数据全部查询出来,然后在进行过滤。今天小博老师先给大家介绍下RowBounds对象的 使用,下节课我们再探讨如何实现物理分页。
先来了解下RowBounds类的源码:
这个类很简单,只有offset和limit两个参数,表示从第几条开始,取多少条。
接下来看看Mybatis默认分页实现方法org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValuesForSimpleResultMap()的源码:
对查询出的结果进行skipRows处理,skipRows代码如下:
skipRows只是根据rowBounds对象的offset参数,跳过或者滚动到具体的起始行。
再来看看shouldProcessMoreRows:
这里判断读取的结果集数量是否与rowBounds对象 的limit参数相符,如果以获取到相应数量的结果,则不再继续执行。
由此可以看出,Mybatis默认的RowBounds分页是对ResultSet的分页,执行效率不会很理想。如果要实现高效率的分页,可以通过拦截器的方式实现。下节课我们实现一个简单的分页拦截器。
转载于:https://my.oschina.net/u/2971691/blog/856564
博为峰JavaEE技术文章 ——MyBatis RowBounds分页相关推荐
- 博为峰JavaEE技术文章 ——MyBatis 简介(2)
2019独角兽企业重金招聘Python工程师标准>>> 了解了Mybatis的历史以及基本的三层架构之后,小博老师继续给大家介绍Mybatis的数据处理流程. 1. MyBatis的 ...
- 博为峰JavaEE技术文章 ——MyBatis 注解
2019独角兽企业重金招聘Python工程师标准>>> 前面在介绍Mybatis时,我们都是使用mapper xml文件来配置SQL语句的.Mapper xml使用起来比较方便,但是 ...
- 博为峰JavaEE技术文章 ——MyBatis where标签使用方法
2019独角兽企业重金招聘Python工程师标准>>> SQL查询语句一般都会用到where条件,多个条件之间还需要使用and 或者or连接.如果手工写这样的语句,难免会出现一些错误 ...
- 博为峰JavaEE技术文章 ——MyBatis Provider之@SelectProvider SQL方法
2019独角兽企业重金招聘Python工程师标准>>> 使用自定义的provider类构造SQL语句时,可以使用String字符串拼接SQL,但是我们知道这样做需要我们处理加号,引号 ...
- 博为峰JavaEE技术文章 —— Hibernate 指南(3)Hbm文件
2019独角兽企业重金招聘Python工程师标准>>> 前面讲了id元素的使用事项,接着上一节,小博老师继续介绍这个案例.接下来看看generator元素的相关使用方法. 两个< ...
- 博为峰JavaEE技术文章 —— Hibernate域模型(2)
2019独角兽企业重金招聘Python工程师标准>>> 前章节已经初步了解Hibernate域模型基础知识.今天小博老师继续带领大家学习域模型命名策略. 将对象模型中的名称映射到相应 ...
- 博为峰Java技术文章 ——JavaEE Hibernate HQL条件查询
2019独角兽企业重金招聘Python工程师标准>>> 博为峰小博老师: 条件查询在实际应用中比较广泛,通常使用条件查询过滤数据库返回的查询数据,因为一个表中的所有数据并不一定对用户 ...
- 博为峰Java技术文章 ——JavaSE Swing JPanel III
2019独角兽企业重金招聘Python工程师标准>>> 博为峰小博老师: 上篇文章程序实例中,建立了6个面板容器类,分别是contentPane.p1.p2.p3.p4. p5,其中 ...
- 博为峰Java技术文章 ——JavaSE Swing FlowLayout布局管理器I
2019独角兽企业重金招聘Python工程师标准>>> 博为峰小博老师: 这种布局管理器的策略也非常简单,它是按照控件加入的先后顺序从左到右排列,一行排满了,再换下一行,然后在从左到 ...
- 博为峰Java技术文章 ——JavaSE Swing列表框选取事件的处理
2019独角兽企业重金招聘Python工程师标准>>> 博为峰小博老师: 在JList类中有addListSelectionListener()方法,可以检测用户是否对JList的选 ...
最新文章
- 计算机专业英语2008影印版第四章翻译,计算机专业英语2008影印版选择题的翻译加答案(14页)-原创力文档...
- 用友u8 php,php 访问用友u8数据
- SSL/TLS中间人攻击
- docker之Dockerfile
- android 获取网卡mac_Java获取Linux安卓设备的mac地址方法
- Linux 命令之 id -- 显示用户ID和组ID
- PCL—关键点检测(rangeImage)低层次点云处理
- 百度与华为全面战略合作 人工智能手机真的要来了
- c/c++如何获取数组的长度
- LeetCode 934 最短的桥
- matlab绘画固定方程的曲线图
- bzoj1047/luogu2216 理想的正方形 (单调队列)
- JS脚本defer的作用
- StackOverflow
- 【翻译】优秀网站的10个技巧
- 重t2加权是什么意思_魔兽世界怀旧服:详解盗贼T2.5套装,别犹豫真香
- 南京邮电大学计算机专业学费多少,南京邮电大学学费多少
- Android应用 开机自启动
- React 语法之let和const命令
- 考研数学公式默写记忆PDF