【MyBatis】整体架构

MyBatis整体架构

SqlSession下的四大对象

  • Executor
    代表执行器,由他来调度StatementHandler、ParameHandler、ResultHandler等执行SQL
  • StatementHandler
    使用数据库的Statement执行操作,他是四大对象的核心,起到承上启下的作用
  • ParameHandler
    用于SQL对参数的处理
  • ResultHandler
    进行最后数据集(ResultSet)的疯传返回处理

其他基本类及作用

  • 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>节点的封装, 封装完成后加入Configuration
  • SqlSource
    负责根据用户传递的parameterObject,动态地生成SQL语句,将信息封装到BoundSql对象中,并返回
  • BoundSql
    表示动态生成的SQL语句以及相应的参数信息
  • Configuration
    MyBatis所有的配置信息都维持在Configuration对象之中。

执行流程

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。