Mybatis源码解读
关键对象类型:
DefaultSqlSessionFactory------>Configration
DefaultSqlSession---->Configration,Executor
四大对象:
Executor(SIMPLE REUSE BATCH)
StatementHandler
ParameterHandler
ResultSetHandler
1.创建SqlSessionFactory对象时,利用Xml解析把xml文件中配置的信息读取到Configration对象并保存在SqlSessionFactory中
2.用DefaultSqlSessionFactory.openSession()创建sqlSession对象,包含Configration和Executor.
3.通过sqlSession获得mapperProxy的代理对象,使用了JDK的动态代理,这个代理对象包含sqlSession
4.执行查询语句invoke(), executor query先从二级缓存查,查不到再从一级缓存,再查不到就调用数据库
查数据库就要用到StatementHandler.(这个对象创建时就会创建ParameterHandler,ResultSetHandler)