因为项目需要从多个数据库取数据,所以需要配置多个数据源

尝试了ActiveRecordPlugin和DruidPlugin的多数据源,但是因为DruidPlugin在本地一直报错一个很奇怪的语法错误,所以就选用了ActiveRecordPlugin

总的来说就是多个数据源配置多个ActiveRecordPlugin

直接使用如下代码即可,不过因为我是太多的数据源不想一个个定义plugin,所以就选用循环读取文件的形式

int i=0;while(true){if(PropKit.get("jdbcUrl"+i)==null){break;}else{C3p0Plugin cp = new C3p0Plugin(PropKit.get("jdbcUrl"+i), PropKit.get("user"+i), PropKit.get("password"+i),  PropKit.get("driver"+i));  cp.setInitialPoolSize(3);  cp.setMaxIdleTime(10);  cp.setMinPoolSize(3);  cp.setMaxIdleTime(6);  me.add(cp);  ActiveRecordPlugin arp = null;if(i>0){arp = new ActiveRecordPlugin("db"+i,cp);  }else{arp = new ActiveRecordPlugin(cp);  }
//                arp2.setDialect(new AnsiSqlDialect()); 连接 sql2008 特有的解决字符 问题if(PropKit.get("driver"+i).indexOf("mysql")>-1){arp.setDialect(new MysqlDialect());///mysql} else{arp.setDialect(new SqlServerDialect());///sqlserver
                }me.add(arp);  //配置数据表映射写到一个文件中if(PropKit.get("state"+i).indexOf("pro")>-1){DbMappingKit.mapping(arp);}else if(PropKit.get("state"+i).indexOf("fb")>-1){FbMappingKit.mapping(arp);}else if(PropKit.get("state"+i).indexOf("wx")>-1){WxMappingKit.mapping(arp);}else if(PropKit.get("state"+i).indexOf("center")>-1){TaskCenterMappingKit.mapping(arp);}}i++;}

其中

arp = new ActiveRecordPlugin("db"+i,cp);  是给除第一个以外的其他链接建立连接别名。我们常用的DB.update(sql),默认使用么有别名的第一个数据源。

Db.use("db1").update(sql); 这样可以使用其他数据源

与http://jingyan.baidu.com/article/7f41ecec3b2b0e593d095c35.html类似,可以参考一下。

转载于:https://www.cnblogs.com/learningJAVA/p/7490175.html

jfinal多数据源ActiveRecordPlugin相关推荐

  1. jfinal 多数据源配置

    1.一个mysql,一个oracle     public void configPlugin(Plugins me) {         // 配置C3p0数据库连接池插件         C3p0 ...

  2. JFinal 表自动绑定插件实现,实现零配置,支持多数据源

    2019独角兽企业重金招聘Python工程师标准>>> 以mysql数据库实现为例,其它的db也可基于这种方式自己实现 大概的思路是这样的,为了简少配置,所以不使用注解的方式 首先需 ...

  3. Spring中集成ActiveRecordPlugin数据操作插件

    2019独角兽企业重金招聘Python工程师标准>>> ###Spring集成ActiveRecordPlugin数据操作插件 package com.yunhetong.mq.se ...

  4. 第一个jfinal的样例

    1.创建Dynamic Web Project; 2.导入需要的jar包: 3.创建包: 4.配置web.xml: 5.编写web.xml中的com.jfinal.config.Myconfig,该类 ...

  5. jfinal mysql增删改查_Jfinal简单实现增删改查

    最近学习了jfinal框架.就我感觉而言,我用起来的感觉真是很爽,以前在学习其他的框架的时候,实现增删改查的时候,你需要自己手动书写你的sql语句来与数据库进行数据交互,还要创建一个实例,然后实现它的 ...

  6. Jfinal源码解析系列一

    2019独角兽企业重金招聘Python工程师标准>>> 1 Jfinal的初始化入口 <filter><filter-name>jfinal</filt ...

  7. 快速上手JFinal

    JFinal是国产的MVC框架,由 Handler.Interceptor.Controller.Render.Plugin 五大部分组成.本文通过一个例子上手JFinal,旨在熟悉JFinal中各组 ...

  8. jfinal框架之登录注册

    登录注册的实现流程 本节课,讲的是如何用jfinal实现简单的登录注册模块.先说一下,我这里的bug,同一个用户同密码可以注册多次,就是数据库会出现多条主键userid不同,但账号密码相同的记录:正常 ...

  9. jfinal框架教程

    jfinal框架教程 下面通过一个小例子了解jfinal的结构和特点 1.建数据库(我用的是oracle数据库,其他的相对也差不多) -- Create table create table CLAS ...

最新文章

  1. shell脚本mysql_Shell脚本中执行sql语句操作MySQL数据库的几个方法
  2. 深入理解操作系统内核架构(送书)!
  3. 关于协方差矩阵需要注意的一个事项
  4. python的类方法_python 类不实例化,调用类方法:@staticmethod 和 @classmethod
  5. ad敷铜后还有部分飞线_网友自制LPL赛区AD选手排名图!阿水Lwx荣誉值已超越Uzi_电竞...
  6. 无法将输入值传递给JavaScript变量
  7. pat09-散列3. Hashing - Hard Version (30)
  8. mysql 存储过程发邮件_通过sql存储过程发送邮件的方法
  9. 企业如何确定需要什么样的产品经理
  10. MySQL优化三之MySQL配置
  11. CoppeliaSim(V-rep)手册中文翻译
  12. 《罗兰小语》最全UMD+TXT版(来自EXE版的反编译)
  13. matlab自动识别粗大误差,剔除粗大误差
  14. 十字线阵---CBF,传统波束形成
  15. 大学计算机学术活动,计算机学院学术活动公告---南京理工大学Wai-Tat Fu教授学术报告...
  16. 交换机putty怎么调试_debian10使用putty配置交换机console口
  17. VJ框架 与 人脸检测/物体检测 详解
  18. AUTOSAR_SWS_SecureOnboardCommunication(7)-功能规格 -1
  19. 盘点2020年网红品牌营销案例,它们刷屏凭什么?
  20. C语言中字符数组char[] 和 字符串char*的区别

热门文章

  1. jsp中简易版本的图片上传程序
  2. css3学习 之 css选择器(css3 属性选择器)
  3. Eclipse 用Hibernate Tools 生成 .hbm cfg.xml等文件
  4. JS window对象常用方法
  5. django 快速实现注册
  6. 从JAVA转学习Go——Go在eclipse的环境搭建
  7. 树的最小支配集、最小点覆盖、最大独立集【模板】
  8. 无向图——双连通分量
  9. go的http包详解
  10. 算法:最接近的三数之和