ResultSetMetaData

本文介绍如何使用Java进行数据库操作,包括获取表的元数据、字段名及数量等,并展示了如何通过BeanUtils将HashMap转换为DTO对象。此外,还深入探讨了缓存管理策略,例如使用TreeMap和不同算法(如LFU、LRU)进行缓存清理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.import java.sql.*;

ResultSet.getMetaData

关于 ResultSet 中列的信息,可通过调用方法 ResultSet.getMetaData 得到。返回的 ResultSetMetaData 对象将给出其 ResultSet 对象各列的编号、类型和属性。

ResultSetMetaData.getColumnName(i)方法来获取表的字段名,ResultSetMetaData.getColumnCount(),来获取字段数.

2.import org.apache.commons.beanutils.BeanUtils;

BeanUtils.populate(bean, properties);

参数类型(java.lang.Object bean, java.util.Map properties)

BeanUtils.populate()方法是把HashMap的值,生成Object对象,在此,就是一个DTO对象数据.

3.import org.apache.commons.logging.*;

private static Log log = LogFactory.getFactory().getInstance("DAOCacheManager");

4.import java.text.*;

log.info(MessageFormat.format(" [DAOCacheManager] getCache: {0} hits, {1} misses", o));

5.import java.util.*;

private Date lastAccessTime = new Date();

Calendar cal = Calendar.getInstance();

6.import java.util.*;

private HashMap cacheHashMap = new HashMap();

public synchronized void sweep() {
    TreeMap costTreeMap = new TreeMap(new CostComparator());
    for (Iterator i = cacheHashMap.entrySet().iterator(); i.hasNext(); ) {
      Map.Entry entry = (Map.Entry) i.next();
      CachedObject cachedObject = (CachedObject) entry.getValue();
      if (cachedObject.isExpired()) {
        cacheHashMap.remove(entry.getKey());
      } else {
        double cost = 0.0;
        switch (purgeAlgorithm) {
          case LFU:
            cost = cachedObject.getLFUCost();
            break;
          case LRU:
            cost = cachedObject.getLRUCost();
            break;
          default:
            cost = cachedObject.getMixCost();
        }
        costTreeMap.put(new Double(cost), entry.getKey());
      }
    }

    // delete to treshold
    for (int i = cacheHashMap.size(); i > TRESHOLD; i--) {
      Object kk = costTreeMap.firstKey();
      Object k = costTreeMap.get(kk);
      cacheHashMap.remove(k);
      costTreeMap.remove(kk);
    }
}

7.import org.apache.struts.action.*;

ActionMapping mapping;

ActionForm form;

ActionErrors errors;

saveErrors(request, errors);

mapping.findForward("error");

errors.add(ActionErrors.GLOBAL_ERROR,
          new ActionError("action.missing.parameter"));

request.getParameter("forward");

Action.isCancelled(request)

ActionForm .reset(mapping, request);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值