Java程序开发中会碰到跨数据库关联运算的情况,这里通过一个例子来看Java实现的方法。例子中sales表在db2数据库中,employee表在mysql数据库中。要将sales和employee表通过sales中的sellerid和employee中的eid关联起来,过滤出state=”California”的所有sales和employee数据。
Sales表的结构和数据如下:
Employee表的结构和数据如下:
两个表来自不同数据库,没有办法用sql来实现join。这里采用Java的数据计算类库RowSet来实现。RowSet提供了JoinRowSet和FilteredRowSet类,可以进行跨库的计算。
Java程序的编写思路是:
1、分别从db2和mysql数据库中读入sales表和employee表数据,存入CachedRowSet对象中。
2、使用JoinRowSet完成两个表的内连接。
3、使用FilteredRowSet完成条件过滤。
4、打印出结果数据。
下面两个函数分别读入db2和mysql数据,具体的代码如下:
publ