jfinal main方法里操作数据库+redis

最近项目中需要写一个小程序 将数据库的数据转存到redis 中,下面是简单的demo 用到了两个数据源 一个redis
package com.xc.main;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Record;
import com.jfinal.plugin.druid.DruidPlugin;
import com.jfinal.plugin.redis.Cache;
import com.jfinal.plugin.redis.Redis;
import com.jfinal.plugin.redis.RedisPlugin;

public class AppRedis {
static int m=0;//此变量是为了切换数据源
public static void main(String[] args) {
RedisPlugin rp = new RedisPlugin("lenglh_hal", "127.0.0.1");
rp.start();
Cache redis=Redis.use();
if(m==0){
String jdbcUrl = "jdbc:mysql://localhost:3306/xc-cool-app?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull";
DruidPlugin druidPlugin = new DruidPlugin(jdbcUrl,"root", "");
druidPlugin.start();
ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin);
arp.start();

List<Record> list=Db.find("select deviceId,status from xc_cool_device");
for(Record r:list){
redis.set(r.get("deviceId"), r.get("status"));
System.err.println(r.get("deviceId")+"===>"+ r.get("status"));
}

String sql="select r.id ,d.deviceId,r.channelId,r.compareType,r.threshold from xc_cool_alarm_rule r "
+" INNER JOIN xc_cool_device d on d.id=r.deviceId";
List<Record> rules=Db.find(sql);
for(Record r:rules){
Map<Object, Object> rule = new HashMap<Object,Object>(); 
rule.put("ruleId", r.get("id"));
rule.put("type", r.get("compareType"));
rule.put("threshold", r.get("threshold"));
rule.put("status", false);
rule.put("value", "-999");
redis.hset("R_"+r.getStr("deviceId")+"_"+r.getInt("channelId"), r.get("id"), rule);
System.err.println("R_"+r.getStr("deviceId")+"_"+r.getInt("channelId")+"---"+r.get("id")+"--"+rule);
}
arp.stop();
m=1;
}
   //切换数据源
if(m==1){
String jdbcUrlHal = "jdbc:mysql://localhost:3306/xc-cool-hal?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull";
DruidPlugin druidPluginhal = new DruidPlugin(jdbcUrlHal,"root", "");
druidPluginhal.start();
ActiveRecordPlugin arphal = new ActiveRecordPlugin(druidPluginhal);
arphal.start();

List<Record> channel=Db.find("select deviceId,channelId,status from xc_cool_rds_channel");
for(Record r:channel){
redis.set("C_"+r.getStr("deviceId")+"_"+r.getInt("channelId"), r.get("status"));
System.err.println("C_"+r.getStr("deviceId")+"_"+r.getInt("channelId")+"===>"+ r.get("status"));
}
m=3;
arphal.stop();
}
}
}

  666导航网    可以自由收藏管理个人常用网址的便捷上网工具 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值