mybatis Executor
其他
2018-08-20 05:53:55
阅读次数: 0
Executor
when?
- SqlSessionFactory创建Executor,并将Executor作为defaultSqlSession的构造参数传进去
what?
- sqlsession中利用Executor完成实际的sql操作
- executor操作包括查询及更新(CUD)
Executor类图
Executor分类
- SimpleExecutor: 每个sql都封装成statement,执行完立刻关闭statement
- 减少sql封装statement开销:
- ReuseExecutor: 将sql与statement映射关系缓存到map中。立即执行statement
- BatchExecutor: 将若干statement以有序的方式添加到批处理序列,在doFlushStatements()中执行该序列
extension: Executor设计模式
- 模板模式
- BaseExecutor中描述commit, rollback, close流程。commit, rollback, close具体逻辑由子类BatchExecutor, ReuseExecutor, SimpleExecutor实现
- 装饰器模式
- CachingExecutor是Executor装饰器。先从缓存中取查询结果,有则返回,如果没有,再委托给Executor delegate从数据库中查询
转载自blog.csdn.net/weixin_41810396/article/details/80926800