mybatis3.x框架体系结构

mybatis3.x框架体系结构

介绍

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


框架设计

Mybatis框架体系图

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

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

使用传统的MyBatis提供的API

使用传统的MyBatis提供的API

使用Mapper接口

使用Mapper接口

数据处理层

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

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

框架支撑层

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维护了一条<select|update|delete|insert>节点的封装, 
SqlSource            负责根据用户传递的parameterObject,动态地生成SQL语句,将信息封装到BoundSql对象中,并返回
BoundSql             表示动态生成的SQL语句以及相应的参数信息
Configuration        MyBatis所有的配置信息都维持在Configuration对象之中。

MyBatis层次结构


参考

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值