如何用 JDBC 进行跨库查询

例题描述和简单分析

有两个 MySQL 数据库,MySQL_A 中,有雇员表 employee,数据如下所示:

MySQL_B中,有家庭成员表 famliy,数据如下所示:

需要使用 JDBC 进行跨库关联查询,通过员工号 EID 进行关联后,查看员工 ENAME 与其家庭成员 FNAME 的关系 RELATION,结果如下:

解法及简要说明

在集算器中编写脚本 p1.dfx,如下所示:


A

1

=connect("MySQL_A")

2

=connect("MySQL_B")

3

=A1.query@x("select * from employee")

4

=A2.query@x("select   * from family")

5

=join(A3:Employee,EID;A4:Familymembers,EID)

6

=A5.new(Employee.NAME:ENAME,Familymembers.NAME:FNAME,Familymembers.RELATION)

简要说明:

A1   连接数据库 MySQL_A

A2  连接数据库 MySQL_B

A3  读取 MySQL_A 的 employee 表

A4  读取 MySQL_B 的 family 表

A5  两者根据 EID 关联

A6  获取员工 ENAME 与其家庭成员 FNAME 的关系 RELATION

JAVA 集成这段代码的方法可参考:《Java 如何调用 SPL 脚本》

问答搜集

https://stackoverflow.com/questions/21968834/jdbcis-it-possible-to-execute-multi-database-querys-in-java