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