zoukankan      html  css  js  c++  java
  • Mybatis源码解析

    Mybatis源码解析

    一、mybatis 流程三个阶段

      1、初始化阶段:读取XML 配置文件和注解中的配置信息,创建配置对象,并完成各个模块的初始工作;

      2、代理阶段:封装 IBatis 编程模型,使用 mapper 接口开发的初始化工作;

      3、数据处理阶段:通过 SqlSession 完成SQL解析,参数的映射、SQL的执行、结果的反射解析过程;

    二、简化版 Mybatis 实现思路 

                                  

    1、初始化阶段:读取XML 配置文件和注解中的配置信息,创建配置对象,并完成各个模块的初始工作;

      1、创建 SqlSessionFactory 实例

      2、实例化过程中加载配置文件创建 Configuration 对象

      3、通过 factory 创建 SqlSession 

    2、代理阶段:封装 IBatis 编程模型,使用 mapper 接口开发的初始化工作;

      4、通过 Sql Session 获取 mapper 结果动态代理

      5、动态代理回调 sqlsession 某个具体方法

      6、Sql Session 将执行方法转发给 Executor

    3、数据处理阶段:通过 SqlSession 完成SQL解析,参数的映射、SQL的执行、结果的反射解析过程;

      7、Executor 基于 jdbc 访问数据库获取数据

      8、Executor 通过反射将数据转成 pojo 返回给 Sql Session

      9、将数据返回给调用者;

       

    https://www.cnblogs.com/dongying/p/4142476.html

  • 相关阅读:
    Java进阶——线程安全和非线程安全
    Java进阶——线程与多线程
    Java进阶——反射
    SpringBoot——SpringBoot框架介绍
    亲逢APP项目知识点
    诗韵APP项目技术点
    Spring框架——WebService
    Spring框架——ORM
    Spring框架——JDBC
    Spring框架——Spring响应
  • 原文地址:https://www.cnblogs.com/Jomini/p/13723828.html
Copyright © 2011-2022 走看看