Mybatis 的性能架构分为三层:
(1)API 接口层:提供给内部应用的接口 API,开发人员通过这些本地 API 来操纵数据库。接口层一接管到调用申请就会调用数据处理层来实现具体的数据处理。
(2)数据处理层:负责具体的 SQL 查找、SQL 解析、SQL 执行和执行后果映射解决等。它次要的目标是依据调用的申请实现一次数据库操作。
(3)根底撑持层:负责最根底的性能撑持,包含连贯治理、事务管理、配置加载和缓存解决,这些都是共用的货色,将他们抽取进去作为最根底的组件。为下层的数据处理层提供最根底的撑持。
二、mybatis 执行流程
1. 加载配置文件并初始化(SqlSession)
配置文件来源于两个中央,一个是配置文件 (主配置文件 conf.xml,mapper 文件 *.xml),一个是 java 代码中的正文,将 sql 的配置信息加载成为一个 mappedstatement 对象,存储在内存之中(包含传入参数的映射配置,后果映射配置,执行的 sql 语句)。
2. 接管调用申请
调用 mybatis 提供的 api,传入的参数为 sql 的 id(有 namespase 和具体 sql 的 id 组成)和 sql 语句的参数对象,mybatis 将调用申请交给申请解决层。
3. 解决申请
依据 sql 的 id 找到对应的 mappedstatament 对象。
依据传入参数解析 mappedstatement 对象,失去最终要执行的 sql。
获取数据库连贯,执行 sql,失去执行后果
Mappedstatement 对象中的后果映射对执行后果进行转换解决,并失去最终的处理结果。
开释连贯资源
4. 返回处理结果
理解更多 java 技术常识欢送关注小编 java 培训专栏!