1   
2   
3   
4   
5   
6   
7   
8   
9   
10  
11  
12  
13  
14  
15  
16  package org.apache.ibatis.executor;
17  
18  import java.sql.SQLException;
19  import java.util.List;
20  
21  import org.apache.ibatis.cache.CacheKey;
22  import org.apache.ibatis.cursor.Cursor;
23  import org.apache.ibatis.mapping.BoundSql;
24  import org.apache.ibatis.mapping.MappedStatement;
25  import org.apache.ibatis.reflection.MetaObject;
26  import org.apache.ibatis.session.ResultHandler;
27  import org.apache.ibatis.session.RowBounds;
28  import org.apache.ibatis.transaction.Transaction;
29  
30  
31  
32  
33  public interface Executor {
34  
35    ResultHandler NO_RESULT_HANDLER = null;
36  
37    int update(MappedStatement ms, Object parameter) throws SQLException;
38  
39    <E> List<E> query(MappedStatement ms, Object parameter, RowBounds rowBounds, ResultHandler resultHandler, CacheKey cacheKey, BoundSql boundSql) throws SQLException;
40  
41    <E> List<E> query(MappedStatement ms, Object parameter, RowBounds rowBounds, ResultHandler resultHandler) throws SQLException;
42  
43    <E> Cursor<E> queryCursor(MappedStatement ms, Object parameter, RowBounds rowBounds) throws SQLException;
44  
45    List<BatchResult> flushStatements() throws SQLException;
46  
47    void commit(boolean required) throws SQLException;
48  
49    void rollback(boolean required) throws SQLException;
50  
51    CacheKey createCacheKey(MappedStatement ms, Object parameterObject, RowBounds rowBounds, BoundSql boundSql);
52  
53    boolean isCached(MappedStatement ms, CacheKey key);
54  
55    void clearLocalCache();
56  
57    void deferLoad(MappedStatement ms, MetaObject resultObject, String property, CacheKey key, Class<?> targetType);
58  
59    Transaction getTransaction();
60  
61    void close(boolean forceRollback);
62  
63    boolean isClosed();
64  
65    void setExecutorWrapper(Executor executor);
66  
67  }