首页 > 代码库 > mybatis的执行流程
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对象
mybatis的执行流程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。