Mybatis的搭建与原理

花了两天功夫才把SpringBoot和Mybatis配置成功,主要是没想到不断报错的原因是jar的版本落后Mysql版本(汗),现在终于成功了,就分析一下Mybatis的基本实现原理和代码。

搭建过程参考:https://www.cnblogs.com/zlf888/p/9600013.html

工作原理

Mybatis的架构主要是分接口层、处理层、支持层。MyBatis使用传统的MyBatis提供的API,传递Statement Id 和查询参数给 SqlSession 对象,使用 SqlSession对象完成和数据库的交互。

运行的基本流程是:

1.配置文件初始化                                                                                                                                                                             

2.开启SqlSession与数据库交互/用户程序调用Mapper接口中的方法

3.SqlSession找到相应的MappedStatement对象

4.执行器Executor解析处理

5.创建一个StatementHandler对象

6.JDBC执行SQL

7.最终返回List结果集

初始化

加载mybatis全局配置文件,基于XML配置文件生成Configuration,包括基础配置XML文件和映射器XML文件

Mapper层

SqlSessionFactory:用Configuration对象创建的接口,提供了一个默认的实现类DefaultSqlSessionFactory。

StatementHandler:使用数据库的Statement执行操作;

ParameterHandler:用于SQL对参数的处理;

ResultHandler:进行最后数据集的封装返回处理;

优点

Mybatis是优秀的持久层框架,与传统JDBC比较较少了大量的代码量

提供XML标签,支持编写动态SQL语句

提供映射标签,支持对象与数据库的ORM字段关系映射

SQL语句封装在配置文件中,便于统一管理与维护,降低了程序的耦合度,增强了移植性

猜你喜欢

转载自blog.csdn.net/weixin_41328649/article/details/86479952