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

参考答案

1. Mybatis如何分页

Mybatis使用RowBounds对象进行分页。

它是针对ResultSet结果集执行的内存分页,而非物理分页,可以在sql内直接书写带有物理分页的参数来完成物理分页功能,也可以使用分页插件来完成物理分页。

2. 分页插件的基本原理

分页插件的原理是使用Mybatis提供的插件接口,实现自定义插件。

在插件的拦截方法内拦截待执行的sql,然后重写sql,根据dialect方言,添加对应的物理分页语句和物理分页参数。

例如:

select * from student

拦截sql后重写为:

select t.* from (select * from student)t limit 0,10

 

以上,是Java面试题【Mybatis是如何进行分页的?分页插件的原理是什么?】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧