Jfinal数据库操作在WebService或非web项目中的使用

接触上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

时间: 2024-08-08 22:09:06

Jfinal数据库操作在WebService或非web项目中的使用的相关文章

非web项目中使用XDT的实例

概述 XDT是Asp.net 4.0中的一个新特性,可以让使用者在Web项目中在不同的生成类型下,快速切换配置文件(如在debug场景下使用测试配置数据库,在Release场景下使用正式配置数据库). 但在非web项目中,VS并未提供如此方便的功能.这时如果我们同样想使用xdt transforms的功能,就需要自己配置MSbuild文件. 在本例中我们是通过修改MSBuild配置文件,来使非web项目同样可以使用XDT功能. MSBuild全称(Microsoft Build Engine),

非web项目中使用XDT的实例(续)

简化 上个实例中,我们是引用了target文件来遍历项目中的xdt项. 当项目比较小,我们又只需要针对固定的config文件进行更替时,可以使用更简化的方法 不进行项目配置文件中的插入<Import Project="$(MSBuildExtensionsPath)\Custom\TransformFiles.targets" /> 而直接写入代码 <UsingTask TaskName="TransformXml" AssemblyFile=&q

非WEB项目中引入Hibernate Validator

前言: 网上一些朋友分享了关于hibernate-validator的使用方法,但是不是缺少关联库信息,就是提供的参考代码中缺少自定类. 希望我这一篇博客能够让你顺利的跑出预期的结果. 如果有错,可以给我留言. 英文好的朋友可以参考官网的getting started. http://hibernate.org/validator/documentation/getting-started/ 一.环境 hibernate-validator库必须运行的JDK版本为1.6及以上. 二.hibern

【.net深呼吸】非 Web 项目使用缓存

从.net 4 开始,非web项目也可以使用缓存技术,故曰:.net 4 乃框架成熟之标志也. 对于缓存嘛,耍过 ASP.NET 的伙伴们肯定知道,这么说吧,就是将一些使用频率较高的数据放于内存中,并设置一个过期时间(比如30秒),只要缓存数据还没有过期,下一次在访问数据时就可以直接从缓存加载,而不需要重新读取.你想啊,如果数据是从数据库中读取的,或者通过网络从其他地方获得的,那么,采用缓存技术,就可以减少读取数据的次数,绿色环保. 当然了,要实时更新的内容就不能放到缓存中了,比如实时在线视频,

maven web项目中整合ssm框架(连接Mysql数据库)

前面说完怎么样创建maven web项目,这篇继续向web项目中整合进ssm(spring+springmvc+mybatis)的框架. 先发个目录图片,让萌新们知道下面提到的文件是创建在什么地方. 1.web.xml文件 修改如下: <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/

Java Web项目中连接Access数据库的配置方法

本文是对前几天的"JDBC连接Access数据库的几种方式"这篇的升级.因为在做一些小项目的时候遇到的问题,因此才决定写这篇博客的.昨天已经将博客公布了.可是后来经过一些验证有点问题,所以今天改了一下又一次的公布了 老师决定期末考试採用access数据库实现增删改查.我觉得如今的我已经没有问题了.可是曾经都是在JSP页面中连接access数据库,不管是下面的那种方式都进行了连接的练习,可是如今我想让我的项目中的訪问access数据库的java代码,封装到DAO中,在DAO中连接数据库,

在java web项目中集成webservice

公司要求在项目中加入webservice服务,因为项目中使用了spring框架,所以在这里使用与spring兼容性较好的cxf来实现 cxf所需jar包 spring的jar包就不贴了 一:创建webservice服务器 1)创建一个服务接口 package com.service; import javax.jws.WebParam; import javax.jws.WebService; @WebService public interface IHelloWorld { public S

在web项目中使用cxf开发webservice,包含spring支持

本文主要介绍了,如何使用cxf内置的例子,学会开发webserivce,在web项目中使用,且包含spring支持. webserivce的开发可以使用cxf或者axis,好像还有httpclient等等.以前也多次研究过,上网搜过很多别人的例子来看,写过代码下来,但没有总结过,少废话,上干货. 1. 到cxf的官网下载jar包.我用的是以前下载下来的apache-cxf-2.7.6.zip,并非最新版本.下载完成后,解压后,目录结构如下左图: 打开其中的samples文件夹,其内包含了很多例子

在Web项目中使用MEAN堆栈的7大理由

Web开发的过程中会涉及各种技术的应用,其中比较突出的是Web服务器.库.前端框架和数据库系统.如今,开发人员使用工具和技术的结合来更加方便和快捷地进行web开发.例如,LAMP,Linux(操作系统).Apache(Web服务器).MySQL(数据库管理系统)和PHP.Perl或Python(服务器端脚本语言).同样,在Web开发中一个新的技术堆栈也越来越受到开发人员的欢迎,而MEAN就是这样一个堆栈! MEAN是MongoDB.Express.AngularJS 和 Node.js的首字母缩