mybatis-原理

目录

概括

MyBatis的底层封装了JDBC,简化了JDBC的开发。

SqlSessionFactory

mybatis-原理

mybatis-原理
解析配置文件
mybatis-原理

mybatis-原理

mybatis-原理
MappedStatement代表一个增删改查的详细信息
mybatis-原理
根据configuration对象来创建SqlSession
mybatis-原理

openSession

mybatis-原理

mybatis-原理
返回一个DefaultSQlSession对象,包含Executor和Configuration
mybatis-原理

getMapper

mybatis-原理

mybatis-原理
根据sqlSession生成代理对象
mybatis-原理

mybatis-原理

mybatis-原理

执行方法

mybatis-原理

mybatis-原理

mybatis-原理

mybatis-原理

mybatis-原理

总结

1)根据配置文件(全局,sql映射)初始化出Configuration对象
2)创建一个DefaultSqlSession对象,里面包含Configuration以及Executor(根据全局配置文件中的defaultExecutorType创建出对应的Executor)。
3)DefaultSqlSession.getMapper():拿到Mapper接口对应的MapperProxy。
4)MapperProxy里面有(DefaultSqlSession。
5)执行增删改查方法:
a)调用DefaultSqlSession的增删改查(Executor);
b)会创建一个StatementHandler对象;
c)调用StatementHandler预编译参数以及设置参数值,使用ParameterHandler来给sql设置参数;
d)调用StatementHandler的增删改查方法;
e)ResultSetHandler封装结果

上一篇:09 运行原理


下一篇:定制Mybatis拦截器开发【含源码追溯】