java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > mybatis分页

Java 3年面试经验告诉你Mybatis是如何进行分页的

作者:跟着Mic学架构

这篇文章主要介绍了Java 3年面试经验告诉你Mybatis是如何进行分页的,对于任何ORM框架,分页的实现逻辑无外乎两种,不管怎么包装,最终给到开发者的,只是使用上的差异而已,本文给大家讲解的很明白,感兴趣的朋友一起看看吧

“Mybatis是如何进行分页的”?

这是一个工作了3年的同学,在面试的时候遇到的问题。

大家好,我是Mic,一个工作了14年的Java程序员。

经常有同学在后台跟我吐槽,在求职过程中遇到的各种面试难题。

我发现大部分的问题之前的文章都有分析过。

考虑到视频可能太过分散,不方便大家学习 所以我系统整理了一份20万字的文档有需要的扫码最底下领取。

下面我们来分析一下面试官对于这个问题的考察意图。

考察目标

Mybatis是Java应用开发的基础框架,而分页又是我们实时都在使用的功能。

因此,在我看来,一方面考察的是求职者对Mybatis框架的使用能力。

另一方面,以此为切入点去深度挖掘Mybatis里面更多的问题,从而了解求职者对它的理解深度。

这道题考察难度不大,主要考察1-3年Java开发经验的同学。

问题解析

数据进行分页是最基础的功能,一般可以把分页分成两类:

Mybatis提供了四种分页方式:

当然,在数据量比较大的情况下,JDBC驱动本身会做一些优化,也就是不会把所有结果存储在ResultSet里面,而是只加载一部分数据,再根据需求去数据库里面加载。

这种方式不适合数据量较大的场景,而且有可能会频繁访问数据库造成比较大的压力。

Interceptor是Mybatis提供的一种针对不同生命周期的拦截器,比如:

我们可以拦截不同阶段的处理,来实现Mybatis相关功能的扩展。

这种方式的好处,就是可以提供统一的处理机制,不需要我们再单独去维护分页相关的功能。

只是他们帮我们实现了扩展和封装,节省了分页扩展封装的工作量,在实际开发中,只需要拿来即用即可。

总结一下,对于任何ORM框架,分页的实现逻辑无外乎两种,不管怎么包装,最终给到开发者的,只是使用上的差异而已。

那么,我们来看看高手该如何回答。

高手:

我认为有三种方式来实现分页:

总结

大家知道怎么回答了吗?

到此这篇关于Java 3年面试经验告诉你Mybatis是如何进行分页的的文章就介绍到这了,更多相关mybatis分页内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文