本文的内容将作为前面我们叙述的内容的内部原理篇的解释,希望各位读者能够仔细理解本篇的内容,下一篇,我们将详细的介绍如何实现一个生产环境下的分页查询,好了,马上开始我们的正文部分吧。【在此,先对开源世界的大神表示感谢】
准备工作:Mybatis 3.3.1版本源码。【其他版本,请读者自行对比即可】
--------------------------------------------------------------------------------------------------------------------------------------------------------
1.首先,请大家回想下面的代码:
[java] view
plain copy
- public class SqlSessionFactoryUtil {
- private static SqlSessionFactory sqlSessionFactory;
- public static SqlSessionFactory getSqlSessionFactory(){
- if(sqlSessi/span>null){
- InputStream inputStream=null;
- try{
- inputStream=Resources.getResourceAsStream("mybatis-config.xml");
- sqlSessi>new SqlSessionFactoryBuilder().build(inputStream);
- }catch(Exception e){
- e.printStackTrace();
- }
- }
- return sqlSessionFactory;
- }
- public static SqlSession openSession(){
- return getSqlSessionFactory().openSession();
- }
- }
2.Mybatis的整体架构图,如下:【摘自百科】
3.Mybatis执行流程图,如下:【摘自其他博文,详情见末尾】
4.上图中各个组件的概念解释: