public interface Executor {
ResultHandler NO_RESULT_HANDLER = null;
//该方法会在所有的INSERT 、UPDATE 、DELET E 执行时被调用,
int update(MappedStatement var1, Object var2) throws SQLException;
//由于MyBati s 的设计原因,这个接口不能被拦截
<E> List<E> query(MappedStatement var1, Object var2, RowBounds var3, ResultHandler var4, CacheKey var5, BoundSql var6) throws SQLException;
//该方法会在所有SELECT 查询方法执行时被调用
<E> List<E> query(MappedStatement var1, Object var2, RowBounds var3, ResultHandler var4) throws SQLException;
//该方法只有在查询的返回值类型为Cursor 时被调用
<E> Cursor<E> queryCursor(MappedStatement var1, Object var2, RowBounds var3) throws SQLException;
//该方法只在通过SqlSession 方法调用flushStatements 方法或执行的接口方法中带有@Flush 注解时才被调用
List<BatchResult> flushStatements() throws SQLException;
//该方法只在通过SqlSession 方法调用commit 方法时才被调用
void commit(boolean var1) throws SQLException;
//该方法只在通过SqlSessio 口方法调用rollback 方法时才被调用
void rollback(boolean var1) throws SQLException;
CacheKey createCacheKey(MappedStatement var1, Object var2, RowBounds var3, BoundSql var4);
boolean isCached(MappedStatement var1, CacheKey var2);
void clearLocalCache();
void deferLoad(MappedStatement var1, MetaObject var2, String var3, CacheKey var4, Class<?> var5);
//该方法只在通过SqlSession 方法获取数据库连接时才被调用
Transaction getTransaction();
//该方法只在延迟加载获取新的Executor 后才会被执行
void close(boolean var1);
//该方法只在延迟加载执行查询方法前被执行
boolean isClosed();
void setExecutorWrapper(Executor var1);
}