模型服务连接失败

MyBatis 是如何进行分页的?分页插件的原理是什么?

MySQL
分类
数据库
难度
未设置
来源数
1
更新时间
2026/03/29 15:43

答案

mybatis使用rowbunds对象进行分页,是针对resultset结果集进行内存分页,而非物理分页。可以在sql内直接书写带有物理分页的参数来完成物理分页功能,也可以使用分页插件完成物理分页。 分页插件的基本原理就是使用mybatis提供的插件接口,实现自定义分页插件,在插件的拦截器方法内拦截待执行的sql语句,并进行重写,添加对应的语句和分页参数。 物理分页就是通过limit等sql语句,进行查询,数据库返回的结果就是分页结果 内存分页(逻辑分页)就是程序员利用代码进行分页,数据库返回全部数据,通过代码筛选获得分页数据。

元信息

审核状态: active
关联来源: 1

来源面经题(0)

这道题目前没有手动沉淀的面经题来源。

来源(1)

Java八股(框架).md

knowledge_note
Question 48: MyBatis 是如何进行分页的?分页插件的原理是什么? Source answer: mybatis使用rowbunds对象进行分页,是针对resultset结果集进行内存分页,而非物理分页。可以在sql内直接书写带有物理分页的参数来完成物理分页功能,也可以使用分页插件完成物理分页。 分页插件的基本原理就是使用mybatis提供的插件接口,实现自定义分页插件,在插件的拦截器方法内拦截待执行的sql语句,并进行重写,添加对应的语句和分页参数。 物理分页就是通过limit等sql语句,进行查询,数据库返回的结果就是分页结果 内存分页(逻辑分页)就是程序员利用代码进行分页,数据库返回全部数据,通过代码筛选获得分页数据。 Reviewed answer: 可通过 RowBounds 做逻辑分页,也可直接写 limit 等 SQL 或借助分页插件做物理分页。分页插件通常通过拦截待执行 SQL 并改写语句来追加分页参数。