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

来源:互联网 发布:建筑工地用工人员软件 编辑:程序博客网 时间:2024/05/17 15:59
最近项目中需要写一个小程序 将数据库的数据转存到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
原创粉丝点击