1. mybatis有三種基本的Executor執行器:
1.1 SimpleExecutor 每執行一次update或select,就開啟一個Statement對象,用完立刻關閉Statement對象。
1.2 PauseExecutor 執行update或select,以sql做為key查找Statement對象,存在就使用,不存在就創建,用完后,不關閉Statement對象,而且放置于Map內,供下一次使用。簡言之,就是重復使用Statement對象。
1.3 BatchExecutor 執行update,將所有sql通過addBatch()都添加到批處理中,等待統一執行executeBatch(),它緩存了多個Statement對象,每個Statement對象都是addBatch()完畢后,等待逐一執行executeBatch()批處理。與JDBC批處理相同。
2. 作用范圍 Executor的這些特點,都嚴格限制在SqlSession生命周期范圍內。
3. Mybatis中如何指定使用哪一種Executor執行器? 在mybatis的配置文件中,可以指定默認的ExecutorType執行器類型,也可以手動給DefaultSqlSessionFactory的創建SqlSession的方法傳遞ExecutorType類型參數。