Mybatis总体架构分析

0 概述

首先要明确的就是mybatis 是一个sql mapper framework ,它也具备ORM (Object Relation Mapping)框架的一些基本特性(它做的事情只是Relation->Object) 。mybatis更像是一个sql 工具,目标在于消除JDBC相关的代码,让数据库操作更简洁方便,开发人员不用关心如何去连接数据库,如何发送sql语句,如何取各个字段;让程序员主要精力放在sql上,通过mybaits提供映射方式,*灵活生成满足需要的sql语句。

1 整体架构

下图给出了mybatis一个简单结构图,从图中可以看出:

  • mybatis通过解析配置文件生成DataSource和MappedStatement对象
  • mybaits使用SqlSession作为统一的对外接口,屏蔽内部执行细节;其是面向程序员的接口 ,其作用是操作数据库,发出具体的Sql(增删改查)。mybaits 提供两种sql执行模式(执行执行Statement Id的方式和通过Mapper接口的方式)。
  • mybaits 可以将PreparedStatement中输入参数自动进行输入映射,将查询结果集灵活的映射成java对象(输出对象)。

Mybatis总体架构分析