美文网首页
mybatis架构介绍

mybatis架构介绍

作者: youlangta | 来源:发表于2018-04-23 12:43 被阅读0次

Mybatis的功能架构

  • API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。
  • 核心数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。
  • 基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。
image.png

Mybatis执行顺序

从MyBatis代码实现的角度来看,MyBatis的主要的核心部件有以下几个:

  • SqlSessionFactoryBuild 生产SqlSessionFactory
  • SqlSessionFactory 作为全局的SqlSessionFactory ,打开数据库连接回话SqlSession
  • 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执行顺序.png image.png

相关文章

  • Mybatis的入门

    一.Mybatis介绍 二.Mybatis的架构 三.Mybatis入门程序开发 下载mybatis 导包核心+依...

  • mybatis架构介绍

    Mybatis的功能架构 API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层...

  • Mybatis

    一、Mybatis的架构(执行流程) 二、Mybatis的介绍(扯皮) https://www.jianshu.c...

  • MyBatis架构与基本配置

    【目录】1 MyBatis架构2 MyBatis基本配置3 搭建第一个MyBatis项目 1 MyBatis架构 ...

  • 4-MyBatis 架构介绍

    4. MyBatis 架构介绍 看完前面的 HelloWorld,接下来我们通过一张网络图片来看下 MyBatis...

  • (四)springmvc+mybatis+dubbo+zooke

    上一篇我们介绍《springmvc+mybatis+dubbo+zookeeper分布式架构 整合 - maven...

  • (三)springmvc+mybatis+dubbo+zooke

    上一篇我们介绍《springmvc+mybatis+dubbo+zookeeper分布式架构 整合 - 平台功能导...

  • myBatis

    MyBatis架构设计及源代码分析系列(一):MyBatis架构 MyBatis源码阅读准备 从 0 开始手写一个...

  • Mybatis架构与原理

    MyBatis功能架构设计 image.png 功能架构讲解: 我们把Mybatis的功能架构分为三层: (1)A...

  • mybatis工作原理&执行流程

    MyBatis的框架架构

网友评论

      本文标题:mybatis架构介绍

      本文链接:https://www.haomeiwen.com/subject/zhjklftx.html