# project-dict **Repository Path**: cdair/project-dict ## Basic Information - **Project Name**: project-dict - **Description**: Dict/dictionary is a easy and simple tool for most project - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2016-09-01 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # project-dict Dict/dictionary is a easy and simple tool for most project. /** * 使用如下: * * 提供两种实现方式 * * 一、单服务器->实现DBMemDictCacheDemo的getAllList和save即可。 * 在服务器启动时初始化DictManager.init(new DBMemDictCache(new DBMemDictCacheDemo())); * 会加载实体BaseDict对应表到内存中,BaseDict默认采用hibernate配置 * * 注意1.如果您的系统也采用hibernate,请在spring配置文件中添加(采用mybatis请忽略这一点) * com.air.utils.dict.* 2. DBMemDictCacheDemo 实现save方法时 每次获取字典数据的时候,如果内存中没有会调用save方法 调用save方法时,请您自己判断数据库是否已经存在相同数据,区分数据的唯一条件是:company+project+type * 二、分布式->实现RedisDictCacheDemo的getDict和save即可。 * 在服务器启动时初始化DictManager.init(new RedisDictCache(new RedisDictCacheDemo())); * 不会加载任何数据到内存中 * 注意:1.您需要单独把你要的数据转发到您的redis中,redis中的key请参考BaseDict中的getKey,value为整个type对应的值,是一个List * * 2.在实现RedisDictCacheDemo中的getDict和save方法,请不要重新定义cacheKey * * * 使用方式: * 定义类如下 * @BeanType(type = 112,description="公司列表") public class CompanyTest extends BaseDict{ @BeanAttr(cnLabel="系统默认1",enLabel="CompanyName1",sort=1,parentId=COMPANY1) public static final long COMPANY2=2L; } * 获取字典: * DictManager.getDict(CompanyTest.class, CompanyTest.COMPANY2) * * 获取缓存key: * DictManager.getCacheKey(CompanyTest.class, CompanyTest.COMPANY2) * * 获取字典Value: * DictManager.getValue(CompanyTest.class, CompanyTest.COMPANY2) * * 获取整个类型字典: * DictManager.getList(CompanyTest.class) * * 如有疑问请参考测试包中的DictManagerTest */