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

    xiaoxiao2021-03-25  97

    最近项目中需要写一个小程序 将数据库的数据转存到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导航网    可以自由收藏管理个人常用网址的便捷上网工具 
    转载请注明原文地址: https://ju.6miu.com/read-19876.html

    最新回复(0)