array_size = ids.size(); }
/**
* 获取人力资源缓存信息方法
* 检查是否有人力资源缓存信息,如果没有,将调用setResourceInfo 方法从
数据库中获取人力资源信息并放入缓存中 * 将缓存中的信息赋予相应的队列 * */
private void getResourceInfo() throws Exception{ /* 3 */
if(staticobj.getObject(\ setResourceInfo();
// 将缓存中的信息赋予相应的队列
ids = (ArrayList)(staticobj.getRecordFromObj(\
loginids = (ArrayList)(staticobj.getRecordFromObj(\ lastnames = (ArrayList)(staticobj.getRecordFromObj(\\
departmentids = (ArrayList)(staticobj.getRecordFromObj(\\
seclevels = (ArrayList)(staticobj.getRecordFromObj(\\
statuses = (ArrayList)(staticobj.getRecordFromObj(\ }
/**
* 从数据库获取人力资源信息并放入缓存方法
* 从数据库获取所需要的人力资源信息 (该类所提供的人力资源信息) * 将获取的信息放入缓存中 * */
private void setResourceInfo() throws Exception{
// 生成队列实例
ids = new ArrayList();
loginids = new ArrayList(); lastnames = new ArrayList(); departmentids = new ArrayList(); seclevels = new ArrayList(); statuses = new ArrayList();
// 查询数据库并赋值队列
RecordSet rt = new RecordSet() ;
26 泛微网络有限公司 www.weaver.com.cn
rt.executeProc(\ while(rt.next()){
ids.add(Util.null2String(rt.getString(\
loginids.add(Util.null2String(rt.getString(\ lastnames.add(Util.null2String(rt.getString(\
departmentids.add(\ seclevels.add(Util.null2String(rt.getString(\ statuses.add(Util.null2String(rt.getString(\ }
/* 3 */
// 将获取的信息放入缓存中, 缓存中的一级键值为 \, 二级键值为人力资源对应的队列名称
staticobj.putRecordToObj(\
staticobj.putRecordToObj(\ staticobj.putRecordToObj(\
staticobj.putRecordToObj(\ staticobj.putRecordToObj(\ staticobj.putRecordToObj(\ }
/**
* 获取人力资源信息数量方法 *
* @return int 人力资源信息数量 * */
public int getResourceNum() { return array_size; }
/* 2 */ /**
* 将当前人力资源信息指针指向下一个人力资源信息 *
* @return boolean 如果有下一个人力资源信息,返回true, 否则返回false,并将当前人力资源信息指针置为初始值(初始值在第一条记录之前) * */
public boolean next(){
while((current_index+1) < array_size){ current_index++; return true; }
current_index = -1; return false;
27 泛微网络有限公司 www.weaver.com.cn
}
/* 2 */ /**
* 将当前人力资源信息指针指向初始值(初始值在第一条记录之前) * */
public void setTofirstRow(){ current_index = -1; }
/* 2 */ /**
* 获取当前人力资源信息指针指向的人力资源记录的id *
* @return String 当前人力资源信息指针指向的人力资源记录的id */
public String getResourceid(){
return (String)(ids.get(current_index)); }
/* 2 */ /**
* 获取当前人力资源信息指针指向的人力资源记录的名称 *
* @return String 当前人力资源信息指针指向的人力资源记录的名称 */
public String getLastname(){
return ((String)(lastnames.get(current_index))).trim() ; }
/* 2 */ /**
* 获取当前人力资源信息指针指向的人力资源记录的部门id *
* @return String 当前人力资源信息指针指向的人力资源记录的部门id */
public String getDepartmentID(){
return ((String)(departmentids.get(current_index))).trim() ; } /**
* 获取人力资源id对应的人力资源名称信息 *
* @param key 人力资源id (为人力资源信息的键值)
泛微网络有限公司 www.weaver.com.cn 28
* @return String 人力资源id对应的人力资源名称信息 */
public String getResourcename(String key) { int index=ids.indexOf(key);
if(index!=-1) return ((String)lastnames.get(index)).trim(); else return \ }
/**
* 获取人力资源id对应的人力资源登录名信息 *
* @param key 人力资源id (为人力资源信息的键值) * @return String 人力资源id对应的人力资源登录名信息 */
public String getLoginID(String key) { int index=ids.indexOf(key);
if(index!=-1) return ((String)loginids.get(index)).trim() ; else return \ } /**
* 获取人力资源id对应的人力资源部门信息 *
* @param key 人力资源id (为人力资源信息的键值) * @return String 人力资源id对应的人力资源部门信息 */
public String getDepartmentID(String key) { int index=ids.indexOf(key);
if(index!=-1) return ((String)departmentids.get(index)).trim() ; else return \ } /**
* 获取人力资源id对应的人力资源安全级别信息 *
* @param key 人力资源id (为人力资源信息的键值) * @return String 人力资源id对应的人力资源安全级别信息 */
public String getSeclevel(String key) { int index=ids.indexOf(key);
if(index!=-1) return ((String)seclevels.get(index)).trim() ; else return \ }
泛微网络有限公司 www.weaver.com.cn 29
/**
* 获取人力资源id对应的人力资源状态信息 *
* @param key 人力资源id (为人力资源信息的键值) * @return String 人力资源id对应的人力资源状态信息 */
public String getStatus(String key) { int index=ids.indexOf(key);
if(index!=-1) return ((String)statuses.get(index)).trim() ; else return \ }
/* 4 */ /**
* 清除人力资源缓存信息 * */
public void removeResourceCache() { /* 3 */
staticobj.removeObject(\ } }
以上代码需要注意的几个地方:
注释1:这里所定义的队列,用于依次存放人力资源的所需信息。所需信息是根据我们的需要来确定的,但是必须明确一点,只有那些经常用到的信息采放到缓存中,否则将会造成缓存的臃余。
注释2:这里的指针和方法用于一些程序遍历人力资源的所有信息。比如如下在jsp页面中的应用:
30 泛微网络有限公司 www.weaver.com.cn
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Ecology系统程序员开发指南(6)在线全文阅读。
相关推荐: