前言
继续总结吧,没有面试就继续夯实自己的基础,前阵子的在面试过程中遇到的各种问题陆陆续续都会总结出来分享给大家,这次要说的也是面试中被问到的一个高频的问题,我当时其实没答好,因为很早之前是看过springboot启动过程的源码,但是时间隔得有点久了(两年多没用过springboot),所以当时也没答好。这次好好总结这部分知识。
一、MyBatis的框架设计
注:上图很大程度上参考了iteye 上的chenjc_it 所写的博文[原理分析之二:框架整体设计] 中的MyBatis架构体图,chenjc_it总结的非常好,赞一个!
1.接口层—和数据库交互的方式
MyBatis和数据库的交互有两种方式:
a.使用传统的MyBatis提供的API;
b. 使用Mapper接口
1.1.使用传统的MyBatis提供的API
这是传统的传递Statement Id 和查询参数给SqlSession对象,使用SqlSession对象完成和数据库的交互;MyBatis 提供了非常方便和简单的API,供用户实现对数据库的增删改查数据操作,以及对数据库连接信息和MyBatis 自身配置信息的维护操作。