技术内幕

Mybatis3.3.x技术内幕(四):五鼠闹东京之执行器Executor设计原本

孤街醉人 提交于 2019-11-26 11:24:34
在上一篇博文中,已经分析了Mybatis事务相关的内容,而今天的这篇博文,很多内容都是在方法method内部,与事务无关,所以,建议暂时忘记事务概念,避免搅扰。 Mybatis对数据库的操作,都将委托给执行器Executor来完成,所以,在Mybatis这部电影当中,Executor是绝对的领衔主演。 在Mybatis中,SqlSession对数据库的操作,将委托给执行器Executor来完成,而Executor由五鼠组成,分别是: 简单鼠SimpleExecutor 、 重用鼠ReuseExecutor 、 批量鼠BatchExecutor 、 缓存鼠CachingExecutor 、 无用鼠ClosedExecutor 。 ‍ 1. Executor接口设计与类结构图 ‍ public interface Executor { ResultHandler NO_RESULT_HANDLER = null; int update(MappedStatement ms, Object parameter) throws SQLException; <E> List<E> query(MappedStatement ms, Object parameter, RowBounds rowBounds, ResultHandler resultHandler, CacheKey