
com.nh.cache.db.LoadCacheUtil4Db Maven / Gradle / Ivy
The newest version!
package com.nh.cache.db;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.nh.cache.base.NhCacheConst;
import com.nh.cache.base.NhCacheObject;
import org.springframework.jdbc.core.JdbcTemplate;
/**
*
* @author ninghao
*
*/
public class LoadCacheUtil4Db {
public static JdbcTemplate jdbcTemplate=null;
public static JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
LoadCacheUtil4Db.jdbcTemplate = jdbcTemplate;
}
public static Map sqlHolderMap=new HashMap();
public static Map getSqlHolderMap() {
return sqlHolderMap;
}
public void setSqlHolderMap(Map sqlHolderMap) {
LoadCacheUtil4Db.sqlHolderMap = sqlHolderMap;
}
public void setSqlHolder4List(List sqlHolderList){
for(CacheSqlHolder cacheSqlHolder:sqlHolderList){
String tableName=cacheSqlHolder.getTableName();
sqlHolderMap.put(tableName, cacheSqlHolder);
}
}
public static NhCacheObject queryCacheObject(String tableName,String key,String realKey){
if(realKey==null || "".equals(realKey)){
realKey=key;
}
CacheSqlHolder cacheSqlHolder=sqlHolderMap.get(tableName);
String queryCacheObjectSql=cacheSqlHolder.getQueryCacheObjectSql();
Object[] params=new Object[]{realKey};
Map cacheMap= jdbcTemplate.queryForMap(queryCacheObjectSql,params);
String nhCacheVersion=(String) cacheMap.get(NhCacheConst.CACHE_VERSION);
NhCacheObject nhCacheObject=new NhCacheObject();
nhCacheObject.setCacheVersion(nhCacheVersion);
nhCacheObject.setCacheKey(key);
nhCacheObject.cacheMap=cacheMap;
String nhCacheType=(String) cacheMap.get(NhCacheConst.CACHE_TYPE);
nhCacheObject.setCacheType(nhCacheType);
String nhCacheData=(String) cacheMap.get(NhCacheConst.CACHE_DATA);
nhCacheObject.setCacheData(nhCacheData);
nhCacheObject.setCacheSource("db");
return nhCacheObject;
}
public static Set listCacheKeys(String tableName,String prefix){
if(prefix==null){
prefix="";
}
String findKey=null;
CacheSqlHolder cacheSqlHolder=sqlHolderMap.get(tableName);
String listCacheKeysSql=cacheSqlHolder.getListCacheKeysSql();
Object[] params=null;
if(prefix==null && !"".equals(prefix)){
params=new Object[]{prefix};
}
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy