All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.freegeese.easymybatis.meta.MetaCache Maven / Gradle / Ivy

The newest version!
package com.github.freegeese.easymybatis.meta;

import org.apache.ibatis.mapping.MappedStatement;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * 元数据缓存
 *
 * 

通过此类获取元数据,将会被缓存,下次获取将会从缓存中获取 * * @author zhangguangyong * @since 1.0 */ public class MetaCache { private static Map, MetaEntityClass> metaEntityClassCache = new ConcurrentHashMap<>(); private static Map metaMapperClassCache = new ConcurrentHashMap<>(); public static MetaEntityClass getMetaEntityClass(Class entityClass) { if (metaEntityClassCache.containsKey(entityClass)) { return metaEntityClassCache.get(entityClass); } MetaEntityClass metaEntityClass = MetaEntityClass.forClass(entityClass); metaEntityClassCache.put(entityClass, metaEntityClass); return metaEntityClass; } public static MetaMapperClass getMetaMapperClass(MappedStatement mappedStatement) { String id = mappedStatement.getId(); if (metaMapperClassCache.containsKey(id)) { return metaMapperClassCache.get(id); } MetaMapperClass metaMapperClass = MetaMapperClass.forMappedStatement(mappedStatement); metaMapperClassCache.put(id, metaMapperClass); return metaMapperClass; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy