接触上jfinal后就基本不使用其它框架了,一直在web开发中使用,最近做了个小的WebService应用,还是使用jfinal操作数据库,在这里分享下使用经验。
我的环境是三个oracle数据库,一个数据库接收数据,然后分发数据到另外两个数据库,使用jfinal的多数据源功能刚好满足要求。
编写数据库初始化类:
直接上代码
package ynitil.pekk.ws.common;
import java.util.List;
import ynitil.pekk.ws.model.Cltxb;
import ynitil.pekk.ws.model.CltxbArch;
import ynitil.pekk.ws.model.CltxbDh;
import ynitil.pekk.ws.model.IdCode;
import ynitil.pekk.ws.model.Kkcl;
import ynitil.pekk.ws.model.KkclArch;
import ynitil.pekk.ws.model.KkclPekk;
import ynitil.pekk.ws.model.TrfPic;
import ynitil.pekk.ws.model.UpInfo;
import ynitil.pekk.ws.model.UpInfoArch;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.CaseInsensitiveContainerFactory;
import com.jfinal.plugin.activerecord.DbKit;
import com.jfinal.plugin.activerecord.dialect.OracleDialect;
import com.jfinal.plugin.druid.DruidPlugin;
public class WsInit {
static DruidPlugin dpWs;
static ActiveRecordPlugin arpWs;
static DruidPlugin dpPekk;
static ActiveRecordPlugin arpPekk;
static DruidPlugin dpSyncProv;
static ActiveRecordPlugin arpSyncProv;
static{
init();
}
public static void init(){
initWsDb();//初始化本地库
initPekkDb();//初始化PEKK库
initSyncProvDb();//初始化上传XX库
// HandleData.start();//转存数据到服务器
}
//初始化本地数据库
public static void initWsDb(){
if(dpWs!=null){
return;
}
dpWs = new DruidPlugin(FileOp.readPropByKey("jdbcUrl"),
FileOp.readPropByKey("user"),
FileOp.readPropByKey("password"));
dpWs.setDriverClass(FileOp.readPropByKey("jdbcDrive"));
dpWs.start();
arpWs = new ActiveRecordPlugin(DbKit.MAIN_CONFIG_NAME,dpWs);
arpWs.setDialect(new OracleDialect());
// 设置大小写不敏感
arpWs.setContainerFactory(new CaseInsensitiveContainerFactory());
arpWs.addMapping("IdCode","idCode", IdCode.class);//
arpWs.addMapping("UpInfo","id", UpInfo.class);//
arpWs.addMapping("UPInfo_Arch","id", UpInfoArch.class);//
arpWs.addMapping("Kkcl","clbh", Kkcl.class);//
arpWs.addMapping("Kkcl_Arch","clbh", KkclArch.class);//
arpWs.addMapping("Cltxb","clbh", Cltxb.class);//
arpWs.addMapping("Cltxb_Arch","clbh", CltxbArch.class);//
arpWs.addMapping("Equipment","sbbh", Equipment.class);//
arpWs.addMapping("TrfPic","id", TrfPic.class);//
arpWs.start();
System.out.println("本地数据库初始化成功.............................");
}
//初始化PEKK数据库
public static void initPekkDb(){
if(dpPekk!=null){
return;
}
dpPekk = new DruidPlugin(FileOp.readPropByKey("jdbcUrl_pekk"),
FileOp.readPropByKey("user_pekk"),
FileOp.readPropByKey("password_pekk"));
dpPekk.setDriverClass(FileOp.readPropByKey("jdbcDrive"));
dpPekk.start();
arpPekk = new ActiveRecordPlugin("pekk",dpPekk);
arpPekk.setDialect(new OracleDialect());
// 设置大小写不敏感
arpPekk.setContainerFactory(new CaseInsensitiveContainerFactory());
String kkcl = FileOp.readPropByKey("pekkTable");
arpPekk.addMapping(kkcl,"CLBH", KkclPekk.class);//
arpPekk.start();
System.out.println("PEKK数据库初始化成功.............................");
}
//初始化同步XXX数据库
public static void initSyncProvDb(){
if(dpSyncProv!=null){
return;
}
dpSyncProv = new DruidPlugin(FileOp.readPropByKey("jdbcUrl_syncProv"),
FileOp.readPropByKey("user_syncProv"),
FileOp.readPropByKey("password_syncProv"));
dpSyncProv.setDriverClass(FileOp.readPropByKey("jdbcDrive"));
dpSyncProv.start();
arpSyncProv = new ActiveRecordPlugin("syncProv",dpSyncProv);
arpSyncProv.setDialect(new OracleDialect());
// 设置大小写不敏感
arpSyncProv.setContainerFactory(new CaseInsensitiveContainerFactory());
String cltxb = FileOp.readPropByKey("syncProvTable");//动态映射到配置的指定表
arpSyncProv.addMapping(cltxb,"jlbh", CltxbDh.class);//
arpSyncProv.start();
System.out.println("上传XX库初始化成功.............................");
}
}
}
说明一下,定义变量的时候我用的是static的,里面的FileOp是自己的一个工具类。
初始化我是在Delegate类里进行的:
public class UpInfoServerDelegate {
static{
WsInit.init();
}
..................
}
}
项目启动以后,所有的操作和WEB项目一样,该使用Model的地方还是使用Model,使用Db的地方还是使用Db,但是要注意使用注册的名字。
如:
http://c.tieba.baidu.com/p/3361685940
http://c.tieba.baidu.com/p/3369262457
http://c.tieba.baidu.com/p/3361226381
http://c.tieba.baidu.com/p/3361701748
http://c.tieba.baidu.com/p/3369277477
http://c.tieba.baidu.com/p/3369313857
http://c.tieba.baidu.com/p/3369963501
http://c.tieba.baidu.com/p/3369970938
http://c.tieba.baidu.com/p/3369978239
http://c.tieba.baidu.com/p/3369982545
http://c.tieba.baidu.com/p/3369992787
http://c.tieba.baidu.com/p/3369998386
http://c.tieba.baidu.com/p/3370003534
http://c.tieba.baidu.com/p/3370009443
http://c.tieba.baidu.com/p/3370023015
http://c.tieba.baidu.com/p/3370094552
http://c.tieba.baidu.com/p/3370105356
http://c.tieba.baidu.com/p/3370150360
http://c.tieba.baidu.com/p/3370158940
http://c.tieba.baidu.com/p/3370159295
http://c.tieba.baidu.com/p/3370165911
http://c.tieba.baidu.com/p/3370168751
http://c.tieba.baidu.com/p/3370174645
http://c.tieba.baidu.com/p/3370186461
http://c.tieba.baidu.com/p/3370197915
http://c.tieba.baidu.com/p/3370205863
http://c.tieba.baidu.com/p/3370218402
http://c.tieba.baidu.com/p/3370230272
http://c.tieba.baidu.com/p/3370292674
http://c.tieba.baidu.com/p/3370305221
http://c.tieba.baidu.com/p/3370323987
http://c.tieba.baidu.com/p/3370334781
http://c.tieba.baidu.com/p/3370335764
http://c.tieba.baidu.com/p/3370337895
http://c.tieba.baidu.com/p/3370339341
http://c.tieba.baidu.com/p/3370339541
http://c.tieba.baidu.com/p/3370348387
http://c.tieba.baidu.com/p/3370351032
http://c.tieba.baidu.com/p/3370352833
http://c.tieba.baidu.com/p/3370353950
http://c.tieba.baidu.com/p/3370355095
http://c.tieba.baidu.com/p/3370357853
http://c.tieba.baidu.com/p/3370374120
http://c.tieba.baidu.com/p/3370374814
http://c.tieba.baidu.com/p/3370375487
http://c.tieba.baidu.com/p/3370375928
http://c.tieba.baidu.com/p/3370376930
http://c.tieba.baidu.com/p/3370377380
http://c.tieba.baidu.com/p/3370377463
http://c.tieba.baidu.com/p/3370378072
http://c.tieba.baidu.com/p/3370378125
http://c.tieba.baidu.com/p/3370378575
http://c.tieba.baidu.com/p/3370378614
http://c.tieba.baidu.com/p/3370379179
http://c.tieba.baidu.com/p/3370379233
http://c.tieba.baidu.com/p/3370379724
http://c.tieba.baidu.com/p/3370379179
http://c.tieba.baidu.com/p/3370379919
http://c.tieba.baidu.com/p/3370380646
http://c.tieba.baidu.com/p/3370380702
http://c.tieba.baidu.com/p/3370381528
http://c.tieba.baidu.com/p/3370381739
http://c.tieba.baidu.com/p/3370382101
http://c.tieba.baidu.com/p/3370382216
http://c.tieba.baidu.com/p/3370382759
http://c.tieba.baidu.com/p/3370383521
http://c.tieba.baidu.com/p/3370383575
http://c.tieba.baidu.com/p/3370385074
http://c.tieba.baidu.com/p/3370383575
http://c.tieba.baidu.com/p/3370385446
http://c.tieba.baidu.com/p/3370386163
http://c.tieba.baidu.com/p/3370386374
http://c.tieba.baidu.com/p/3370387498
http://c.tieba.baidu.com/p/3370389359
http://c.tieba.baidu.com/p/3370390933
http://c.tieba.baidu.com/p/3370391036
http://c.tieba.baidu.com/p/3370391036
http://c.tieba.baidu.com/p/3370391453
http://c.tieba.baidu.com/p/3370391468
http://c.tieba.baidu.com/p/3370393162
http://c.tieba.baidu.com/p/3370399408
http://c.tieba.baidu.com/p/3370403804
http://c.tieba.baidu.com/p/3370408675
http://c.tieba.baidu.com/p/3370409225
http://c.tieba.baidu.com/p/3370409602
http://c.tieba.baidu.com/p/3370411429
http://c.tieba.baidu.com/p/3370411571
http://c.tieba.baidu.com/p/3370415337
http://c.tieba.baidu.com/p/3370415667
http://c.tieba.baidu.com/p/3370416326
http://c.tieba.baidu.com/p/3370417849
http://c.tieba.baidu.com/p/3370417926
http://c.tieba.baidu.com/p/3370418876
http://c.tieba.baidu.com/p/3370419068
http://c.tieba.baidu.com/p/3370420330
http://c.tieba.baidu.com/p/3370420571
http://c.tieba.baidu.com/p/3370421490
http://c.tieba.baidu.com/p/3370422394
http://c.tieba.baidu.com/p/3370423071
http://c.tieba.baidu.com/p/3370424478
http://c.tieba.baidu.com/p/3370424908
http://c.tieba.baidu.com/p/3370426273
http://c.tieba.baidu.com/p/3370426319
http://c.tieba.baidu.com/p/3370462138
http://c.tieba.baidu.com/p/3371658420
http://c.tieba.baidu.com/p/3371663222
http://c.tieba.baidu.com/p/3371664077
http://c.tieba.baidu.com/p/3371674626
http://c.tieba.baidu.com/p/3371671097
http://c.tieba.baidu.com/p/3371676658
http://c.tieba.baidu.com/p/3371679958
http://c.tieba.baidu.com/p/3371682907
http://c.tieba.baidu.com/p/3371685449
http://c.tieba.baidu.com/p/3371689289
http://c.tieba.baidu.com/p/3371697541
http://c.tieba.baidu.com/p/3371698752
http://c.tieba.baidu.com/p/3371701811
http://c.tieba.baidu.com/p/3371704043
http://c.tieba.baidu.com/p/3371710108
http://c.tieba.baidu.com/p/3371714425
http://c.tieba.baidu.com/p/3371719038
http://c.tieba.baidu.com/p/3371726190
http://c.tieba.baidu.com/p/3371732092
http://c.tieba.baidu.com/p/3371732412
http://c.tieba.baidu.com/p/3371737828
http://c.tieba.baidu.com/p/3371738097
http://c.tieba.baidu.com/p/3371742564
http://c.tieba.baidu.com/p/3371742591
http://c.tieba.baidu.com/p/3371755208
http://c.tieba.baidu.com/p/3371810189
http://c.tieba.baidu.com/p/3371837480
http://c.tieba.baidu.com/p/3371864092
http://c.tieba.baidu.com/p/3371908427
http://c.tieba.baidu.com/p/3371945665
http://c.tieba.baidu.com/p/3372010213
http://c.tieba.baidu.com/p/3372015825
http://c.tieba.baidu.com/p/3372077866
http://c.tieba.baidu.com/p/3372089452
http://c.tieba.baidu.com/p/3357720495
http://c.tieba.baidu.com/p/3372148588
http://tieba.baidu.com/p/3372191034
http://c.tieba.baidu.com/p/3369940353
http://c.tieba.baidu.com/p/3369653381
http://c.tieba.baidu.com/p/3368370779
http://c.tieba.baidu.com/p/3369653381
http://c.tieba.baidu.com/p/3369940353
http://c.tieba.baidu.com/p/3370387455
http://c.tieba.baidu.com/p/3370417658
http://c.tieba.baidu.com/p/3370418809
http://c.tieba.baidu.com/p/3370420428
http://c.tieba.baidu.com/p/3370422014
http://c.tieba.baidu.com/p/3370423610
http://c.tieba.baidu.com/p/3372319843
http://c.tieba.baidu.com/p/3372330234
http://c.tieba.baidu.com/p/3368384751
http://c.tieba.baidu.com/p/3370390882
http://c.tieba.baidu.com/p/3372312309
http://c.tieba.baidu.com/p/3372326908
http://c.tieba.baidu.com/p/3372396026