mybatis-原理

概括

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

SqlSessionFactory


解析配置文件


MappedStatement代表一个增删改查的详细信息

根据configuration对象来创建SqlSession

openSession


返回一个DefaultSQlSession对象,包含Executor和Configuration

getMapper


根据sqlSession生成代理对象

执行方法

总结

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封装结果

posted @ 2021-11-21 16:24  翻蹄亮掌一皮鞋  阅读(30)  评论(0)    收藏  举报