目录

 

正文

SqlSession是mybatis的核心接口之一,是myabtis接口层的主要组成部分,对外提供了mybatis常用的api。myabtis提供了两个SqlSesion接口的实现,常用的实现类是DefaultSqlSession。它相当于一个数据库连接对象,在一个SqlSession中可以执行多条SQL语句。

创建SqlSession

前面的两篇文章我们已经得到了SqlSessionFactory,那么SqlSession将由SqlSessionFactory进行创建。

SqlSession sqlSession=sqlSessionFactory.openSession();

我们就来看看这个SqlSessionFactory的 openSession方法是如何创建SqlSession对象的。根据上面的分析,这里的SqlSessionFactory类型对象其实是一个DefaultSqlSessionFactory对象,因此,需要到DefaultSqlSessionFactory类中去看openSession方法。

复制代码
  @Override   public SqlSession openSession() {     return openSessionFromDataSource(configuration.getDefaultExecutorType(), null, false);   }
复制代码

调用了openSessionFromDataSource方法,并且第一个参数获取了默认的执行器类型,第二个参数为null,第三个参数为false,看看这个默认的执行器类型是啥

  

默认的执行器类型SIMPLE,我们跟进openSessionFromDataSource方法