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

     

    MapperRegistry中保存了Mapper对应的动态代理对象

    MapperProxy 生成对应的代理对象,代理的interface是SqlSession,实现有两种SqlSessionManager和DefaultSqlSession。默认是DefaultSqlSession。
    DefaultSqlSession的实在获取Session的时候生成的。
     
    sessionFactory.openSession();返回的是DefaultSqlSession。
     
     
    
    
     
    具体的执行是由StatementHandler执行。
    public int update(String statement, Object parameter) {
        int var4;
        try {
            this.dirty = true;
            MappedStatement ms = this.configuration.getMappedStatement(statement);
            var4 = this.executor.update(ms, this.wrapCollection(parameter));
        } catch (Exception var8) {
            throw ExceptionFactory.wrapException("Error updating database.  Cause: " + var8, var8);
        } finally {
            ErrorContext.instance().reset();
        }

        return var4;
    }
     
     
    this.executor中得到上次获取的executor对象
     
  • 相关阅读:
    mysql赋权限
    MySQL Server 5.6安装
    Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
    每天一个linux命令
    解锁scott用户
    堆栈的理解
    类与对象的理解
    数组copy
    ArrayList 的代码
    intput/output 文件的复制练习
  • 原文地址:https://www.cnblogs.com/wangjiuyong/p/7162598.html
Copyright © 2011-2022 走看看