1 :SqlSessionFactoryBuilder 创建 SqlSessionFactory
2 :SqlSessionFactory 创建一次访问数据库的SqlSession
3 :SqlSession有两个必要配置项Configuration以及Executor, SqlSession会通过getMapper()方法获取访问数据库的方法
4:Executor对象在创建Configuration对象的时候创建,并且缓存在Configuration对象里。Executor对象的主要功能是调用StatementHandler访问数据库,并将查询结果存入缓存中(如果配置了缓存的话)。
5:StatementHandler是真正访问数据库的地方,并调用ResultSetHandler处理查询结果。
mybatis和Hibernate的差别
http://www.zhihu.com/question/21104468
myBatis可以进行更为细致的SQL优化,可以减少查询字段。而在缓存机制,开发便利性(mybatis需要维护sql以及结果映射),mybatis对平台扩展性较差