nieqiuqiu 5 years ago
parent
commit
93fff0da4e

+ 54 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/h2/cache/CustomCache.java

@@ -0,0 +1,54 @@
+package com.baomidou.mybatisplus.test.h2.cache;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.ibatis.cache.Cache;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@Slf4j
+public class CustomCache implements Cache {
+
+    private final String id;
+
+    private Map<Object, Object> cache = new HashMap<>();
+
+    public CustomCache(String id) {
+        this.id = id;
+    }
+
+    @Override
+    public String getId() {
+        return id;
+    }
+
+    @Override
+    public int getSize() {
+        return cache.size();
+    }
+
+    @Override
+    public void putObject(Object key, Object value) {
+        log.info("添加命名空间:{},缓存:{}", id, key);
+        cache.put(key, value);
+    }
+
+    @Override
+    public Object getObject(Object key) {
+        log.info("获取命名空间:{},缓存:{}", id, key);
+        return cache.get(key);
+    }
+
+    @Override
+    public Object removeObject(Object key) {
+        log.info("清除命名空间:{},缓存:{}", id, key);
+        return cache.remove(key);
+    }
+
+    @Override
+    public void clear() {
+        log.info("清除命名空间:{}缓存", id);
+        cache.clear();
+    }
+
+}

+ 2 - 1
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/h2/cache/mapper/CacheMapper.java

@@ -16,10 +16,11 @@
 package com.baomidou.mybatisplus.test.h2.cache.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.test.h2.cache.CustomCache;
 import com.baomidou.mybatisplus.test.h2.cache.model.CacheModel;
 import org.apache.ibatis.annotations.CacheNamespace;
 
-@CacheNamespace
+@CacheNamespace(implementation = CustomCache.class)
 public interface CacheMapper extends BaseMapper<CacheModel> {
 
 }