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 + -
显示快捷键?