1. package com.example.aninbatis.executor;
    2. import com.example.aninbatis.config.Configuration;
    3. import com.example.aninbatis.config.MappedStatement;
    4. import java.util.List;
    5. /**
    6. * 处理二级缓存
    7. */
    8. public class CachingExecutor implements Executor {
    9. /**
    10. * 基本执行器
    11. */
    12. private Executor delegate;
    13. public CachingExecutor(Executor delegate) {
    14. super();
    15. this.delegate = delegate;
    16. }
    17. @Override
    18. public <T> List<T> query(MappedStatement mappedStatement, Configuration configuration, Object param) {
    19. // 从二级缓存中根据sql语句获取处理结果(二级缓存怎么存?????)
    20. // 如果有,则直接返回,如果没有则继续委托给基本执行器去吃力
    21. return delegate.query(mappedStatement, configuration, param);
    22. }
    23. }