一、Mybatis的架构设计
框架分为四层:接口层、数据处理层、框架支撑层、引导层。
接口层调用方式:基于Statement ID、基于Mapper接口
数据处理层:参数映射(parameterHandler)、SQL解析(SqlSource)、SQL执行(Ececutor)、结果处理及映射(ResultSetHandler)。
框架支撑层:连接池管理、SQL语句配置方法(基于XML配置、基于注解)、事务管理、缓存机制。
引导层:基于XML配置方式、基于java API方式。
1、接口层(和数据库的交互方式)
MyBatis和数据库的交互有两种方式:
a.使用传统的MyBatis提供的API;
b. 使用Mapper接口;
1.1使用传统Mybatis提供API
创建SqlSession对象(与数据库交互),传入Statement Id、parameterObject参数,依据非常方便和简单的API,供用户实现对数据库的增删改查数据操作,以及对数据库连接信息和MyBatis 自身配置信息的维护操作。
1.2使用Mapper接口
MyBatis 将配置文件中的每一个<mapper> 节点抽象为一个 Mapper 接口,而这个接口中声明的方法和跟<mapper> 节点中的<select|update|delete|insert> 节点项对应,即<select|update|delete|insert> 节点的id值为Mapper 接口中的方法名称,parameterType 值表示Mapper 对应方法的入参类型,而resultMap 值则对应了Mapper 接口表示的返回值类型或者返回结果集的元素类型。