zoukankan      html  css  js  c++  java
  • SqlSession执行流程

    一、产生

    Mybatis解析完配置文件后,会生成一个DefaultSqlSessionFactory对象,调用openSession方法,即可获得一个SqlSession(使用的是默认的DefaultSqlSession对象)。

    二、源码解读

     

     

    1. 获取到环境对象
    2. 获取到事务工厂
    3. 实例化事务对象
    4. 创建执行器对象
    5. 创建DefaultSqlSession对象

    三、sqlSession作用

    调用getMapper()方法,生成代理对象。

     

     

     

    使用JDK动态代理,调用mapperProxyFactory.newInstance()。

     

    MapperProxyFactory是为了给Mapper接口生成代理类,其中关键的拦截逻辑在MapperProxy中的invoke方法。

     

    MapperProxy中调用了MapperMethod的execute方法。

    执行对应的sql语句(使用JDBC进行数据库查询)。

     

     

    在用JDBC调用数据库查询之前,首先会查询一级缓存,如果一级缓存中有,则取一级缓存中的数据,如果没有,则调用JDBC进行数据库查询。

     

     

  • 相关阅读:
    电话续
    邀请
    Detecting versions of IE
    Android命令行
    电话
    性格形容词
    .NET 异常处理
    uva 10161 Ant on a Chessboard
    转载 ACM训练计划
    uva 253 Cube painting
  • 原文地址:https://www.cnblogs.com/libinhyq/p/14331381.html
Copyright © 2011-2022 走看看