1.Mybatis架构图
从这个图可以看出Mybatis框架分为接口层、数据处理层、基础支撑层,那这些层次有个什么作用呢?接下来就有介绍。
基础支撑层:负责最基本的基础功能支撑,包括连接管理,失误管理,配置加载,缓存处理。这些都是共用的东西,将他们抽取出来最为最基础的组件,为上层数据处理层提供最基础的支撑。
数据处理层:负责具体的SQL查找,SQL解析,SQL执行,和执行结果的映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。
API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库,接口层一接收到请求就会调用数据处理层来完成具体的数据处理。
2.编写MyBatis框架的核心配置文件
3.Mybatis的缓存
MyBatis的缓存分为一级缓存和二级缓存,一缓存存放在session里面,默认就有,二级缓存放在它的命名空间,默认是不打开的,使用二级缓存属性类实现Serializable序列化接口(可用来保存对象的状态)
4..MyBatis的优点和缺点
优点:基于SQL语句编程,相当灵活,不会对应用程序或者数据库造成任何影响,SQL写在XML里,解除sql语句与程序的耦合,便于统一管理:提供XML标签,支持编写动态SQL语句,重用性高
缺点:SQL语句依赖于数据库,导致数据库移植性差,不能随意更换数据库
5.SqlSessionFactory和SqlSession实现过程
mybatis框架主要是围绕着SqlSessionFactory进行的,创建过程大概如下: