Mybatis都有哪些Executor執行器?它們之間的區別是什麼?

1、SimpleExecutor:每執行一次update或select,就開啓一個Statement對象,用完立刻關閉Statement對象。

 

2、ReuseExecutor:執行update或select,以sql作爲key查找Statement對象,存在就使用,不存在就創建,用完後,不關閉Statement對象,而是放置於Map內,供下一次使用。簡言之,就是重複使用Statement對象。

 

3、BatchExecutor:執行update(沒有select,JDBC批處理不支持select),將所有sql都添加到批處理中(addBatch()),等待統一執行(executeBatch()),它緩存了多個Statement對象,每個Statement對象都是addBatch()完畢後,等待逐一執行executeBatch()批處理。與JDBC批處理相同。

 

作用範圍:Executor的這些特點,都嚴格限制在SqlSession生命週期範圍內

 

默認是SimplExcutor,需要配置在創建SqlSession對象的時候指定執行器的類型即可。

 

Mybatis中如何指定使用哪一種Executor執行器?

答:在Mybatis配置文件中,可以指定默認的ExecutorType執行器類型,也可以手動給DefaultSqlSessionFactory的創建SqlSession的方法傳遞ExecutorType類型參數。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章