MyBatis源码阅读–SqlSession说明

MyBatis源码阅读-总索引

前言

org.apache.ibatis.session.SqlSession 用于获取Mapper对象或者发送SQL语句去执行并返回结果。

继承体系

MyBatis源码阅读–SqlSession说明

SqlSession实现类有两个DefaultSqlSession和SqlSessionManager,本文章只讲DefaultSqlSession

源码阅读

私有属性

//配置类
private final Configuration configuration;
//执行器
private final Executor executor;
//是否自动提交
private final boolean autoCommit;
//和autoCommit功能相反
private boolean dirty;
private List<Cursor<?>> cursorList;

构造器

 public DefaultSqlSession(Configuration configuration, Executor executor, boolean autoCommit) {
        this.configuration = configuration;
        this.executor = executor;
        this.dirty = false;
        this.autoCommit = autoCommit;
    }

    public DefaultSqlSession(Configuration configuration, Executor executor) {
        this(configuration, executor, false);
    }