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—

👇阅读作者更多技术干货👇

阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师

以上

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

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