• MyBatis执行原理图


    作者:W&L

    推荐: 陶邦仁的博客

     

    (1)加载配置并初始化

          触发条件:加载配置文件

          配置来源于两个地方,一处是配置文件,一处是Java代码的注解,将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中。     

    (2)接收调用请求

          触发条件:调用Mybatis提供的API

          传入参数:为SQL的ID和传入参数对象

          处理过程:将请求传递给下层的请求处理层进行处理。 

    (3)处理操作请求

           触发条件:API接口层传递请求过来

           传入参数:为SQL的ID和传入参数对象

           处理过程:

            (A)根据SQL的ID查找对应的MappedStatement对象。

            (B)根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数。

            (C)获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果。

            (D)根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果。

            (E)释放连接资源。       

    (4)返回处理结果

    将最终的处理结果返回。

     

    1.1   分析结论

    1、  mybatis配置文件,包括Mybatis全局配置文件和Mybatis映射文件,其中全局配置文件配置了数据源、事务等信息;映射文件配置了SQL执行相关的信息。

    2、  mybatis通过读取配置文件信息(全局配置文件和映射文件),构造出SqlSessionFactory即会话工厂。

    3、  通过SqlSessionFactory,可以创建SqlSession即会话。Mybatis是通过SqlSession来操作数据库的。

    4、  SqlSession本身不能直接操作数据库,它是通过底层的Executor执行器接口来操作数据库的。Executor接口有两个实现类,一个是普通执行器,一个是缓存执行器(默认)

    5、  Executor执行器要处理的SQL信息是封装到一个底层对象MappedStatement中。该对象包括:SQL语句、输入参数映射信息、输出结果集映射信息。其中输入参数和输出结果的映射类型包括java的简单类型、HashMap集合对象、POJO对象类型。

     

    1.1   分析结论

    1、  mybatis配置文件,包括Mybatis全局配置文件和Mybatis映射文件,其中全局配置文件配置了数据源、事务等信息;映射文件配置了SQL执行相关的信息。

    2、  mybatis通过读取配置文件信息(全局配置文件和映射文件),构造出SqlSessionFactory即会话工厂。

    3、  通过SqlSessionFactory,可以创建SqlSession即会话。Mybatis是通过SqlSession来操作数据库的。

    4、  SqlSession本身不能直接操作数据库,它是通过底层的Executor执行器接口来操作数据库的。Executor接口有两个实现类,一个是普通执行器,一个是缓存执行器(默认)

    5、  Executor执行器要处理的SQL信息是封装到一个底层对象MappedStatement中。该对象包括:SQL语句、输入参数映射信息、输出结果集映射信息。其中输入参数和输出结果的映射类型包括java的简单类型、HashMap集合对象、POJO对象类型。

  • 相关阅读:
    nltk的使用
    TF-IDF原理及使用
    Python Join
    pandas 常用清洗数据(三)排序,去重
    pandas 常用清洗数据(二)
    pandas 常用清洗数据(一)
    Python 测试
    【Python学习之三】流程控制语句
    【Python学习之二】Python基础语法
    【Python学习之一】Python安装、IDE安装配置
  • 原文地址:https://www.cnblogs.com/lxl57610/p/7436763.html
Copyright © 2020-2023  润新知