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

  • 相关阅读:
    【安装软件的点点滴滴】
    【自然语言处理】LDA
    【sklearn】数据预处理 sklearn.preprocessing
    【sklearn】中文文档
    【MySql】update用法
    DotNet Core
    ASP.NET MVC
    ADO.NET
    RESTful API
    C#
  • 原文地址:https://www.cnblogs.com/Jomini/p/13723828.html
Copyright © 2011-2022 走看看