deptusercache.java
来自「一个用java编写的功能强大的OA系统」· Java 代码 · 共 149 行
JAVA
149 行
package com.redmoon.oa.dept;import java.sql.*;import java.util.*;import cn.js.fan.base.*;import cn.js.fan.cache.jcs.*;import cn.js.fan.db.*;import cn.js.fan.resource.*;import cn.js.fan.security.*;import cn.js.fan.web.*;import org.apache.log4j.*;public class DeptUserCache implements ICacheMgr { final String group = "DEPT_USER"; final String COUNT_GROUP_NAME = "DEPT_USER_COUNT"; static boolean isRegisted = false; Logger logger = Logger.getLogger(DeptUserCache.class.getName()); RMCache rmCache = RMCache.getInstance(); String connname = ""; public DeptUserCache() { connname = Global.defaultDB; if (connname.equals("")) logger.info(Constant.DB_NAME_NOT_FOUND); regist(); } public void timer() { } public void regist() { } public void refreshCreate() { try { rmCache.invalidateGroup(COUNT_GROUP_NAME); } catch (Exception e) { logger.error(e.getMessage()); } } public void refreshSave(int id) { removeFromCache(id); } public void refreshDel(int id) { try { removeFromCache(id); rmCache.invalidateGroup(COUNT_GROUP_NAME); } catch (Exception e) { logger.error(e.getMessage()); } } public void removeFromCache(int id) { try { rmCache.remove("" + id, group); } catch (Exception e) { logger.error(e.getMessage()); } } public DeptUserDb getDeptUserDb(int id) { DeptUserDb user = null; try { user = (DeptUserDb) rmCache.getFromGroup("" + id, group); } catch (Exception e) { logger.error("getPostUserDb:" + e.getMessage()); } if (user == null) { user = new DeptUserDb(id); if (user != null) { try { rmCache.putInGroup("" + id, group, user); } catch (Exception e) { logger.error("getDeptUserDb:" + e.getMessage()); } } } return user; } public int getDeptUserCount(String sql) { String query = SQLFilter.getCountSql(sql); if (!SecurityUtil.isValidSql(query)) return -1; Integer count = null; try { count = (Integer) rmCache.getFromGroup(query, COUNT_GROUP_NAME); } catch (Exception e) { logger.error(e.getMessage()); } if (count != null) { return count.intValue(); } else { int docCount = 0; Conn conn = new Conn(connname); ResultSet rs = null; try { rs = conn.executeQuery(query); if (rs.next()) docCount = rs.getInt(1); } catch (SQLException e) { e.printStackTrace(); } finally { if (conn != null) { conn.close(); conn = null; } } try { rmCache.putInGroup(query, COUNT_GROUP_NAME, new Integer(docCount)); } catch (Exception e) { logger.error(e.getMessage()); } return docCount; } } public void refreshMove(int id, int brotherId) { removeFromCache(id); removeFromCache(brotherId); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?