1. 程式人生 > >jfinal main方法裡操作資料庫+redis

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導航網可以自由收藏管理個人常用網址的便捷上網工具 

相關推薦

jfinal main方法操作資料庫+redis

最近專案中需要寫一個小程式 將資料庫的資料轉存到redis 中,下面是簡單的demo 用到了兩個資料來源 一個redispackage com.xc.main; import java.util.HashMap; import java.util.List; import

######業務儘可能用sql實現(縮短後臺響應時間):最近都在優化之前的程式碼:發現每個模組的index頁都需要優化(很多都在迴圈操作資料庫:菜!初級!)

  ###最近都在優化之前的程式碼: 發現每個模組的index頁都需要優化(很多都再迴圈裡操作資料庫:菜!初級!或者說趕專案沒想優化這回事吧) ===》解耦合前提下,能用一條SQL解決的,多測試寫SQL。可以減少很多程式碼。 希望我在疲憊,腦子不好使時候也能堅持吧。(注意休

Service中通過main方法載入Spring連線資料庫操作

Spring+springmvc+mybaits.通過main方法測試。除controller這層外,我一般不喜歡通過啟動tomcat來測試,特別是在搭建框架以及測試service與dao的時候,喜歡在main方法中進行除錯,看看框架是否可行。可以做很多事,例如

JPA的操作資料庫方法的命名規則

最後一個有水印補一下: IgnoreCase findByNameIgnoreCase where UPPER(name)=UPPER(?)   再補充兩個: existisByXXX,結構與findBy類

PYTHON自動化Day7-補充資料庫操作excel,redis操作 ,介面開發

補充資料庫方法: import pymysql def mysql(sql): conn = pymysql.connect( host='118.24.3.40', user='jxz', passwd='123456', port=3306, db='jx

ContentProvider提供的對資料庫批量操作方法和對資料庫變化監控的方法

最近專案中用到了資料批量入庫和監控資料庫變化的需求,整理總結如下: 1.批量操作資料庫的方法 1)ContentProvider中提供了批量處理資料的方法applyBatch,Android原始碼在ContentProvider.java中實現如下: @Override

Java通過反射建立JDBC操作資料庫的通用方法

JAVA反射機制是在執行狀態中,對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個物件,都能夠呼叫它的任意方法和屬性;這種動態獲取資訊以及動態呼叫物件方法的功能稱為java語言的反射機制。 首先我們看個反射的小例子。 1.我們新建一個User的類。 2.通過反射獲取User物

快取型資料庫redis基本資料操作

| redis基本操作 今天我們來講一下redis的幾種基本資料操作 1. 啟動資料庫服務 .伺服器端的命令為redis-server可以使用help檢視幫助文件redis-server --help 啟動 以服務端啟動 sudo service redi

jdbc 操作資料庫 資料的公用方法

/*  * 處理Sql語句的工具類  */ public class SqlUtil { /* * 執行 增 改 的公用方法(支援事物) */ public static int executeUpdate(Conne

springboot操作資料庫時找不到findOne(id:1)方法

本來是想用findOne(id:1)這個形式的,結果發現,沒有這個可以選擇,都是圖上的那種方式,後面發現,原因是springboot版本的問題,我用的是2.0.6版本的,2.0以前的都是支援findOne(id:1)這樣的寫法,2.0以後就不行了,得換一種寫法 這種寫法就可以。不過f

springboot操作資料庫時找不到findOne方法

使用springboot寫crud時,發現JpaRepository沒有findOne傳Integer引數的方法 通過查閱資料發現這是因為springboot版本的原因 在springboot1

.NET MVC 操作資料庫要用到的一些方法

1. LINQ  1.select * from [table] 用 LINQ 寫 var linq = (from t in db.table select t ).ToList() 2. select 欄位 from [table]

基於Python庫pymysql操作資料庫方法

適用環境 python版本 >=2.6或3.3 mysql版本>=4.1 安裝方法 1.  手動安裝,請先下載。下載地址:https://github.com/PyMySQL/PyMySQL/tarball/pymysql-X.X。 其中的X.X是版本(目前

使用sql語言操作資料庫面的表

使用sql語言操作資料庫裡面的表 建立表  語句: create table 表名稱 ( 欄位 型別(長度), 欄位 型別(長度) ) stuNo not null 唯一 示例:建立表 user,欄位 id username password sex create tab

SpringBoot學習(三),兩種啟動方式-以main方法啟動和在tomcat啟動

        sprigboot既可以直接通過main方法啟動,也可以在tomcat裡啟動,在main方法裡啟動很簡單,直接run啟動類的main方法就可以了。         在tomcat裡啟動

.NET中Redis安裝部署及使用方法簡介附->開源Redis操作輔助類

    Redis是一個用的比較廣泛的Key/Value的記憶體資料庫,新浪微博、Github、StackOverflow 等大型應用中都用其作為快取,Redis的官網為http://redis.io/。  Redis 是一個key-value儲存系統。和Memcached類

JFinal 執行 Main 方法

JFinalMain 環境:Eclipse + Maven + Mysql + Druid 使用 JFinal 框架 Main 方法來直接訪問資料庫 test.sql 為資料庫檔案 1、maven jar <dependency>

SQLServer 2008以上誤操作資料庫恢復方法——日誌尾部備份

轉自http://blog.csdn.net/dba_huangzj/article/details/8491327 問題:          經常看到有人誤刪資料,或者誤操作,特別是update和delete的時候沒有加where,然後就喊爹喊娘了。人非聖賢孰能

mybatis自帶常用操作資料庫方法詳解以及如何搭建簡單的mybatis環境

首先我們介紹一下mybatis中一些自帶常用的方法,後面我們介紹如何搭建mybatis環境 ① selectByPrimaryKey() User user = userDAO.selectByPrimaryKey(100); 相當於select * from user where id = 10

php使用pdo操作資料庫時出現ERROR:could not find driver的解決方法

這種情況是提示沒有找到pdo的驅動,檢查: 1)extension=php_pdo.dll這個檔案是否存在 2)開啟windows下的php.ini,查詢   extension_dir = "地址