MyBatis执行流程源码分析
1.寻找入口
2.断点跟踪
3.先粗后细
4.精略结合
主函数代码
第一行只是简单的读取配置文件
Resource是mybatis封装好的
创建sqlSessionFactory对象
SqlSessionFactory配置初始化
进入第三步
返回的是一个DefaultSqlSession对象
获取Mapper的接口对象
在mybatis的底层是一个动态代理
可以看出来它是一个代理对象,代理的是InvocationHandler
进入到第五步
最后返回的结果
手写MyBatis框架的流程:
第一步:读取mybatis-config.xml配置文件
第二步:构建SqlSessionFactory;
第三步:打开SqlSession;
第四步:获取Mapper接口对象;
第五步:调用Mapper接口对象的方法操作数据库;
创建maven项目
引入jdbc驱动包