如何用Jfinal连接多个数据库

 更新时间:2021年03月15日 11:55:55   作者:可爱的黑精灵  
这篇文章主要介绍了如何用Jfinal连接多个数据库,帮助大家更好的理解和学习使用Jfinal,感兴趣的朋友可以了解下

ActiveRecordPlugin可以支持多个数据库,多个语言,我们只需要添加多个ActiveRecordPlugin,分别配置即可。

Jfinal连接多个数据库

1. 添加mssql-jdbc-7.4.1.jar和mysql-connector-java-8.0.12.jar分别用于连接sqlserver及mysql数据库。

<!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc -->
<dependency>
 <groupId>com.microsoft.sqlserver</groupId>
 <artifactId>mssql-jdbc</artifactId>
 <version>7.4.1.jre8</version>
 <scope>test</scope>
</dependency>


<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
 <groupId>mysql</groupId>
 <artifactId>mysql-connector-java</artifactId>
 <version>8.0.12</version>
</dependency>

2. 添加数据库配置文件

datasource.properties:

driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbcUrl = jdbc:sqlserver://localhost;Database=test
user = sa
password = 123456
devMode = true  

jdbcUrl2 = jdbc:mysql://localhost/test?characterEncoding=utf-8&useSSL=false&serverTimezone=GMT
user2 = root
password2 =123456
devMode2 =true

3. 配置configPlugin

 public void configPlugin(Plugins me) {
 	
 	// 连接sqlserver数据库
 	C3p0Plugin c3p0Plugin = new C3p0Plugin(getProperty("jdbcUrl"), getProperty("user"), getProperty("password"), getProperty("driver"));
  me.add(c3p0Plugin);
  // 给数据源添加别名sqlserver
  ActiveRecordPlugin arp = new ActiveRecordPlugin("sqlserver",c3p0Plugin);
  // 添加sqlserver方言 SqlServer方言在jfinal2.0以上才引入
  arp.setDialect(new SqlServerDialect());
  me.add(arp);
 	
  // 连接mysql数据库
 	C3p0Plugin c3p0Plugin2 = new C3p0Plugin(getProperty("jdbcUrl2"), getProperty("user2"), getProperty("password2"));
  me.add(c3p0Plugin2);
  // 给数据源添加别名mysql
  ActiveRecordPlugin arp2 = new ActiveRecordPlugin("mysql",c3p0Plugin2);
  // 添加mysql方言
  arp2.setDialect(new MysqlDialect());
  me.add(arp2);
 	
 	
 }

JFinal 的方言仅用于 Model 的 save()、update()、delete()等等由框架生成 sql 的方法,而开发者自由传入的 sql 框架并不会干预,这通常是在使用 find()、query()、paginate() 之类需要传入 sql 的方法。
JFinal 默认方言为mysql的,如果不配置方言用Model中的方法会出莫名其妙的问题。

ActiveRecordPlugin提供了MysqlDialect、SqlServerDialect、OracleDialect、Sqlite3Dialect、AnsiSqlDialect实现类,来支持mysql、sqlserver、oracle、sqlite3、ANSI等数据库的支持。

4. 使用

// 查询sqlserver的test表
List<Record> rs = Db.use("sqlserver").find("select * from test");

// 查询mysql的test表		
List<Record> rs1 = Db.use("mysql").find("select * from test");

以上就是如何用Jfinal连接多个数据库的详细内容,更多关于Jfinal连接多个数据库的资料请关注脚本之家其它相关文章!

相关文章

  • selenium4.0版本在springboot中的使用问题的坑

    selenium4.0版本在springboot中的使用问题的坑

    本文主要介绍了selenium4.0版本在springboot中的使用问题的坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • EasyExcel实现读写Excel文件的示例代码

    EasyExcel实现读写Excel文件的示例代码

    EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。它可以在尽可能节约内存的情况下支持读写百M的Excel,所以本文就将利用它实现读写Excel文件,感兴趣的可以了解一下
    2022-08-08
  • Java关系操作符简写介绍

    Java关系操作符简写介绍

    下面小编就为大家带来一篇Java关系操作符简写介绍。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • Java获取指定父节点、子节点的方法实现

    Java获取指定父节点、子节点的方法实现

    在Java中,要获取指定节点的父节点和子节点,通常需要使用 DOM,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02
  • JAVA大作业之图书管理系统实现全解

    JAVA大作业之图书管理系统实现全解

    随着网络技术的高速发展,计算机应用的普及,利用计算机对图书馆的日常工作进行管理势在必行,本篇文章手把手带你用Java实现一个图书管理系统,大家可以在过程中查缺补漏,提升水平
    2022-01-01
  • Java属性文件操作之Properties与ResourceBundle详解

    Java属性文件操作之Properties与ResourceBundle详解

    这篇文章主要介绍了Java属性文件操作之Properties与ResourceBundle详解,两个类都可以读取属性文件中以key/value形式存储的键值对,ResourceBundle读取属性文件时操作相对简单,需要的朋友可以参考下
    2023-11-11
  • Java利用httpclient通过get、post方式调用https接口的方法

    Java利用httpclient通过get、post方式调用https接口的方法

    这篇文章主要介绍了Java利用httpclient通过get、post方式调用https接口的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • Spring MVC下 bootStrap服务器分页代码

    Spring MVC下 bootStrap服务器分页代码

    因为Spring 对于ajax直接返回对象,到了WEB页面就转换成json 所以不需要使用JSON转换封装可以直接使用。接下来通过本文给大家分享Spring MVC下 bootStrap服务器分页代码,需要的的朋友参考下
    2017-03-03
  • Java CopyOnWriteArrayList源码超详细分析

    Java CopyOnWriteArrayList源码超详细分析

    为了将读取的性能发挥到极致,jdk中提供了CopyOnWriteArrayList类,下面这篇文章主要给大家介绍了关于java中CopyOnWriteArrayList源码解析的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • MyBatis中操作类对象的实现

    MyBatis中操作类对象的实现

    在MyBatis框架中,操作类对象是用于执行数据库操作的核心对象,本文主要介绍了MyBatis中操作类对象的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11

最新评论