哈喽各位码友,欢迎来到我的“小米说面试”系列!
今天我们来聊一个Java社招面试中出镜率极高的常客——MyBatis。
说真的,前不久我跳槽去面字节的时候,面试官问我的第一个问题就是:
“你们项目里用的ORM框架是什么?为什么不用JPA,用MyBatis?”
我当时心里一咯噔,MyBatis这哥们我明明用得六熟,突然被问到这个“哲学层面”的问题,居然卡了一下……(尴尬脸.jpg)
后来我总结了一下,如果面试时你对 MyBatis 的理解还停留在“它是个持久层框架,可以写SQL映射Java对象”这种表面回答,很容易被一波追问带走。
所以今天就让我这个老码农小米,给你讲讲我和MyBatis的故事,从是什么到为什么用,再到怎么用好,希望你下次面试不再“背刺”。
从前有个项目,叫“CRUD地狱”
时间拉回几年前,我还是某大厂外包团队的一名搬砖选手。
那时候我们在做一个政务系统,说白了就是典型的CRUD应用,模块多、字段多、表也多得离谱,一张表五十多个字段见怪不怪。
我们的项目最早用的是原生JDBC + DAO 手撸 SQL 的方式,每次写个插入或者查询,像这样:
哇,当时真的是,写代码像在写诗,每句