MyBatis(3.2.3) - Paginated ResultSets using RowBounds

Sometimes, we may need to work with huge volumes of data, such as with tables with millions of records. Loading all these records may not be possible due to memory constraints, or we may need only a fragment of data. Typically in web applications, pagination is used to display large volumes of data in a page-by-page style.

MyBatis can load table data page by page using RowBounds. The RowBounds object can be constructed using the offset and limit parameters. The parameter offset refers to the starting position and limit refers to the number of records.

Suppose if you want to load and display 25 student records per page, you can use the following query:

<select id="findAllStudents" resultMap="StudentResult">
    select * from Students
</select>

Then, you can load the first page (first 25 records) as follows:

int offset =0 , limit =25;
RowBounds rowBounds = new RowBounds(offset, limit);
List<Student> = studentMapper.getStudents(rowBounds);

To display the second page, use offset=25 and limit=25; for the third page, use offset=50 and limit=25.

时间: 2024-10-13 21:29:06

MyBatis(3.2.3) - Paginated ResultSets using RowBounds的相关文章

Table of Contents - MyBatis

Getting Started with MyBatis Hello World Integration with Spring Bootstrapping MyBatis Configuring MyBatis using XML Environment, DataSource, TransactionManager Properties typeAliases typeHandlers Settings Mappers SQL Mappers Using XML Mapped stateme

SSM(Spring + Springmvc + Mybatis)框架面试题

JAVA SSM框架基础面试题https://blog.csdn.net/qq_39031310/article/details/83050192 SSM(Spring + Springmvc + Mybatis)框架面试题 一.Spring面试题 1.Spring 在ssm中起什么作用? Spring:轻量级框架 作用:Bean工厂,用来管理Bean的生命周期和框架集成. 两大核心:1.IOC/DI(控制反转/依赖注入) :把dao依赖注入到service层,service层反转给action

Result Maps、Auto-mapping、cache

1.  Result Maps resultMap元素是Mybatis里面最重要的并且功能最强大的一个元素.(The resultMapelement is the most important and powerful element in MyBatis.)与JDBC从ResultSets中取值相比较它可以使用节省大约90%的代码.不过多的说了,下面开始resutMap之旅~ 一个最简单的例子 首先XML里面定义个resultMap,如下: Xml代码   <resultMap type=&qu

JAVA SSM框架基础面试题

一.Spring面试题 1.Spring 在ssm中起什么作用? Spring:轻量级框架 作用:Bean工厂,用来管理Bean的生命周期和框架集成. 两大核心:1.IOC/DI(控制反转/依赖注入) :把dao依赖注入到service层,service层反转给action层,Spring顶层容器为BeanFactory. 2.AOP:面向切面编程 2.Spring的事务? 编程式事务管理:编程方式管理事务,极大灵活性,难维护. 声明式事务管理:可以将业务代码和事务管理分离,用注解和xml配置来

SSM面试题

一.Spring面试题 1.Spring 在ssm中起什么作用? Spring:轻量级框架 作用:Bean工厂,用来管理Bean的生命周期和框架集成. 两大核心: 1.IOC/DI(控制反转/依赖注入) :把dao依赖注入到service层,service层反转给action层,Spring顶层容器为BeanFactory. 2.AOP:面向切面编程 2.Spring的事务? 编程式事务管理:编程方式管理事务,极大灵活性,难维护. 声明式事务管理:可以将业务代码和事务管理分离,用注解和xml配置

JavaSSM框架面试

一.Spring面试题 1.Spring 在ssm中起什么作用? Spring:轻量级框架 作用:Bean工厂,用来管理Bean的生命周期和框架集成. 两大核心: 1.IOC/DI(控制反转/依赖注入) :把dao依赖注入到service层,service层反转给action层,Spring顶层容器为BeanFactory. 2.AOP:面向切面编程 2.Spring的事务? 编程式事务管理:编程方式管理事务,极大灵活性,难维护. 声明式事务管理:可以将业务代码和事务管理分离,用注解和xml配置

2019最新java常见面试题整理

操作系统说一下线程和进程,它们的区别同步和异步的区别阻塞和非阻塞的区别操作系统中死锁的四个必要条件mmap和普通文件读写的区别,mmap的注意点CPU密集型和IO密集型的区别Linuxlinux 用过的命令kill 用法,某个进程杀不掉的原因(进入内核态,忽略 kill 信号)系统管理命令(如查看内存- 网络情况)管道的使用grep 的使用,一定要掌握,每次都会问在文件中查找shell 脚本find 命令awk 使用讲一下linux的Swap分区硬链接和软连接区别讲一下epoll的基本原理,优点

mybatis association表关联与rowbounds共同使用时的异常及其解决方案

按照mybatis手册中所说的,association有两种实现方式,嵌套查询和嵌套结果映射.如手册中所述,select方式会带来N+1次查询的问题,考虑到效率问题的话建议使用嵌套结果映射.但是在结合使用rowbounds进行分页的时候嵌套结果映射会报Mapped Statements with nested result mapping cannot be safely constrained by rowbounds异常.经过测试发现是rowbounds和resultmap-associat

mybatis的两种分页方式:RowBounds和PageHelper

原理:拦截器. 使用方法: RowBounds:在mapper.java中的方法中传入RowBounds对象. RowBounds rowBounds = new RowBounds(offset, page.getPageSize()); // offset起始行 // limit是当前页显示多少条数据 public List<ProdProduct> findRecords(HashMap<String,Object> map,RowBounds rowBounds); map