了解了Mybatis的历史以及基本的三层架构之后,小博老师继续给大家介绍Mybatis的数据处理流程。
1.MyBatis的应用程序的入口是SqlSessionFactoryBuilder,它的作用是通过XML配置文件创建Configuration对象(包括在程序中创建),然后通过build方法创建SqlSessionFactory对象。
2.SqlSessionFactory对象由SqlSessionFactoryBuilder创建。它的主要功能是创建SqlSession对象。
3.SqlSession对象的主要功能是完成一次数据库的访问和结果的映射,它类似于数据库的session概念,由于不是线程安全的,所以SqlSession对象的作用域需限制方法内。
4.Executor对象在创建Configuration对象的时候创建,并且缓存在Configuration对象里。Executor对象的主要功能是调用StatementHandler访问数据库,并将查询结果存入缓存中(如果配置了缓存的话)。
5.StatementHandler是真正访问数据库的地方,并调用ResultSetHandler处理查询结果。
6.ResultSetHandler处理查询结果。