mybatis核心流程的三个阶段
第一个阶段的重要意义
mybatis链接数据库之前需要先解析xml中的配置,拿到配置文件中的配置后再去链接数据库,试想如果每次都这样做效率会怎么样?
所以mybatis会把这些配置信息加载到内存中,既然加载到内存中,那么就需要一个数据结构去存这些东西
SqlSession
SqlSession示意图
SqlSession是什么?
Sqlsession意味着创建数据库会话,代表了一次与数据库的连接;是Mybatis对外提供数据访问的主要API (来试试iBatis编程的方式吧) ;实际上Sqlsession的功能都是基于Excutor来实现的;
SqlSession类似于公司前台
Executor
Executor类似公司某个办事员,真正做事的
Executor是MyBaits核心接口之一, 定义了数据库操作最基本的方法;底层其实遵循了jdbc的规范去实现的。
手写mybatis源码地址:
weolwo/mybatis-learn