1 读取MyBatis配置文件:mybatis-config.xml加载运行环境和映射文件
2 构造会话工厂SqlSessionFactory,一个项目只需要一个,单例的,一般由
spring进行管理
3 会话工厂创建SqlSession对象,这里面就含了执行SQL语句的所有方法
SqlSession会执行getMapper的注解 实际上获取的就是@Mapper对应的映射xml的信息
所以前提就是要用@Mapper这个注解
然后创建一个动态代理的对象
这个时候我们执行的信息都会放在mapper里面了
然后实际上是由Statement还是prepareStatment执行sql语句的封装在MappedStatement里面
MappedStatement作为方法参数 在通过我们的执行器执行
但是究其根本 mybatis框架是底层是jdbc 所以更底层实际上执行的就是jdbc里面的Statement还是prepareStatment
只不过相对于mybatis框架的深度而言 就是执行器执行的
4 操作数据库的接口,Executor执行器,同时负责查询缓存的维护
是先操作sql语句 进入执行之后才是对sql参数的映射
5 Executor接口的执行方法中有一个MappedStatement类型的参数,封装了
映射信息