首页 > 其他 > 详细

mybatis的执行流程

时间:2017-07-13 21:09:46      阅读:290      评论:0      收藏:0      [点我收藏+]

技术分享

 

技术分享

 

 技术分享

 

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对象
 

mybatis的执行流程

原文:http://www.cnblogs.com/wangjiuyong/p/7162598.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!