mybatis3.x框架体系结构

mybatis3.x框架体系结构

介绍

持久层框架有很多,重量级的有hibernate轻量级的有spring的jdbcTempleate和apache的DbUtils,它们有各自的优点和应用场景。mybatis算是一个折中的框架,既有orm框架的部门自动映射功能(指的是入参和出参的映射)也有原生jdbc的高效性能。mybatis的功能很强大,然而其实现却比较简单、优雅。尤其互联网行业对其非常的热衷。


框架设计

接口层—和数据库交互的方式

a.使用传统的MyBatis提供的API
b. 使用Mapper接口

使用传统的MyBatis提供的API

使用Mapper接口

数据处理层

数据处理层可以说是MyBatis 的核心,从大的方面上讲,它要完成三个功能:

a. 通过传入参数构建动态SQL语句;(入参映射处理)
b. SQL语句的执行以及封装查询结果集成List(出参结果集映射处理)

框架支撑层

1、事务管理机制
2、连接池管理机制
3、缓存机制
4、SQL语句的配置方式

引导层

引导层是配置和启动MyBatis 配置信息的方式。MyBatis 提供两种方式来引导
MyBatis :基于XML配置文件的方式和基于Java API 的方式

MyBatis的主要构件及其相互关系

从MyBatis代码实现的角度来看,MyBatis的主要的核心部件有以下几个:

SqlSession            作为MyBatis工作的主要顶层API,表示和数据库交互的会话,完成必要数据库增删改查功能
Executor              MyBatis执行器,是MyBatis 调度的核心,负责SQL语句的生成和查询缓存的维护
StatementHandler      封装了JDBC Statement操作,负责对JDBC statement 的操作,如设置参数、将Statement结果集转换成List集合。
ParameterHandler      负责对用户传递的参数转换成JDBC Statement 所需要的参数,
ResultSetHandler      负责将JDBC返回的ResultSet结果集对象转换成List类型的集合;
TypeHandler           负责java数据类型和jdbc数据类型之间的映射和转换
MappedStatement   MappedStatement维护了一条节点的封装, 
SqlSource            负责根据用户传递的parameterObject,动态地生成SQL语句,将信息封装到BoundSql对象中,并返回
BoundSql             表示动态生成的SQL语句以及相应的参数信息
Configuration        MyBatis所有的配置信息都维持在Configuration对象之中。


参考

http://blog.csdn.net/luanlouis/article/details/40422941

你可能感兴趣的:(mybatis)