chx 学习jForum笔记五-参数表的操作

2010.12.7 继续查找关键字MostUsersEverOnline

仍然是在net.jforum.repository/ForumRepository.java中

    public static MostUsersEverOnline getMostUsersEverOnline()
    {
        MostUsersEverOnline online = (MostUsersEverOnline)cache.get(FQN, MOST_USERS_ONLINE);  //从缓存中取峰值人数
        if (online == null) { //缓存中没有
            online = instance.loadMostUsersEverOnline (DataAccessDriver.getInstance().newConfigDAO()); //从数据表读取峰值人数信息
        }
        return online;
    }

 

    private synchronized MostUsersEverOnline loadMostUsersEverOnline(ConfigDAO cm) //从数据表读取峰值人数信息
    {
        Config config = cm.selectByName (ConfigKeys.MOST_USERS_EVER_ONLINE); //从数据表读取同时在线人数
        MostUsersEverOnline mostUsersEverOnline = new MostUsersEverOnline();
        if (config != null) {
            mostUsersEverOnline.setTotal(Integer.parseInt(config.getValue ())); //设置峰值人数
            // We're assuming that, if we have one key, the another one
            // will always exist
            config = cm.selectByName (ConfigKeys.MOST_USER_EVER_ONLINE_DATE);  //从数据表读取峰值时间
            mostUsersEverOnline.setTimeInMillis(Long.parseLong(config.getValue ())); //设置峰值时间
        }
        cache.add(FQN, MOST_USERS_ONLINE, mostUsersEverOnline); //将峰值人数及时间写入缓存
        return mostUsersEverOnline;
    }

 

所以从以上句子中得知,程序用到了一个配置数据表。用法应该是这样滴:

ConfigDAO cm = DataAccessDriver.getInstance().newConfigDAO();
Config config = cm.selectByName("参数名称")
值 = config.getValue()
 

 

下面继续看如何设置这个峰值人数

 

    public static void updateMostUsersEverOnline(MostUsersEverOnline m) //设置峰值人数
    {
        ConfigDAO cm = DataAccessDriver.getInstance().newConfigDAO();  //取参数表
        Config config = cm.selectByName(ConfigKeys.MOST_USERS_EVER_ONLINE); //取参数
        if (config == null) { //参数表中未取到参数
            // Total 参数〔峰值人数〕操作
            config = new Config();
            config.setName(ConfigKeys.MOST_USERS_EVER_ONLINE); //设置参数名称
            config.setValue(Integer.toString(m.getTotal()));   //设置参数值
            cm.insert(config); //将参数记入表中
            // Date  参数〔峰值发生时间〕操作
            config.setName(ConfigKeys.MOST_USER_EVER_ONLINE_DATE);//设置参数名称
            config.setValue(Long.toString(m.getTimeInMillis())); //设置参数值
            cm.insert(config); //将参数记入表中
        }
        else {
            // Total 参数〔峰值人数〕操作
            config.setValue(Integer.toString(m.getTotal())); //设置参数值
            cm.update(config); //将参数记入表中
            // Date 参数〔峰值发生时间〕操作
            config.setName(ConfigKeys.MOST_USER_EVER_ONLINE_DATE); //取参数
            config.setValue(Long.toString(m.getTimeInMillis())); //设置参数值
            cm.update(config); //将参数记入表中
        }
       
        cache.add(FQN, MOST_USERS_ONLINE, m); //修改缓存中的值
    }

所以设置是这样

ConfigDAO cm = DataAccessDriver.getInstance().newConfigDAO();
Config config = cm.selectByName("参数名称")
        if (config == null) { //参数表中未取到参数
            config = new Config();
            config.setName("参数名称"); //设置参数名称
            config.setValue(值)
            cm.insert(config); //将参数记入表中
         }
         else {
            config.setValue(值)
            cm.update(config); //将参数记入表中
         }
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值