Mybatis架构设计原理笔记
1.首先架构功能分为三层:
层级 | 描述 |
---|---|
接口层 | 我们调用的API |
框架支撑层 | 负责解析SQL,执行SQL,结果映射处理 |
数据处理层 | 连接池、缓存、事务 |
2.其次是Mybatis的核心组件:
组件名 | 描述 |
---|---|
SqlSession | 执行CURD的API入口 |
Executor | sql执行器,通过statementid找到要执行的sql,并在该层执行缓存操作 |
StatementHandler | Executor通过调用该组件来将mappedStatement翻译成sql语句,并创建jdbc,生成jdbc预处理对象,执行sql |
ParameterHandler | StatementHandler通过调用该组件来解析传入参数 |
ResultSetHandler | StatementHandler通过调用该组件来解析返回参数,将ResultSet转化成List集合 |
TypeHandler<> | 处理传入参数和返回结果集时,通过该组件实现java类型和jdbc类型之间的转换 |
图解: