Java 6 RowSet 使用完全剖析

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

使用 JdbcRowSet

JdbcRowSet 是对 ResultSet 的一个简单的封装,让它可以作为一个 JavaBeans 组件来使用。填充 JdbcRowSet 只能通过一种方式,即 execute() 方法。之后可以通过类似于操作 ResultSet 的方法来操作 JdbcRowSet。

清单 23. JdbcRowSet

                JdbcRowSet jrs = new JdbcRowSetImpl();jrs.setCommand(DBCreator.SQL_SELECT_CUSTOMERS);jrs.setUrl(DBCreator.DERBY_URL);jrs.execute();while (jrs.next()) {    for(int i = 1; i <= jrs.getMetaData().getColumnCount(); i++) {        System.out.print(jrs.getObject(i) + " "); //$NON-NLS-1$    }    System.out.println();}

清单 24. 清单 23 中的代码执行结果

                1 Tom Tom is VIP. 2 Jim null

下面一节里我们将会看到 JdbcRowSet 如何作为一个 RowSet 和其他的 RowSet 一起使用。

使用 JoinRowSet

支持的联合方式

JoinRowSet 接口中对五种不同的联合方式都定义了对应的常数和判断该实现是否支持的方法,如下表所示。

表 5. 五种联合方式联合方式对应的常数判断是否支持的方法(返回布尔值)内连接(INNER JOIN)JoinRowSet.INNER_JOINsupportsInnerJoin()左外连接(LEFT OUTER JOIN) JoinRowSet.LEFT_OUTER_JOINsupportsLeftOuterJoin()右外连接(RIGHT OUTER JOIN) JoinRowSet.RIGHT_OUTER_JOINsupportsRightOuterJoin() 全外连接(FULL OUTER JOIN)JoinRowSet.FULL_JOINsupportsFullJoin()交叉连接(CROSS JOIN) JoinRowSet.CROSS_JOINsupportsCrossJoin()

同时还有两个方法,getJoinType() 返回当前的联合方式,setJoinType(int) 设置联合方式。值得注意的是,Java 5 和 Java 6 中都支持内连接 (INNER JOIN) 这一种联合方式。在 setJoinType 方法中传入除 Inner_Join 以外的任何一种联合方式都会抛出 UnsupportedOperationException 的异常。

另外一点需要注意的,虽然默认的联合方式就是内连接,但是在没有显示的调用 setJoinType() 之前调用 getJoinType() 会抛出 ArrayIndexOutOfBoundsException 的异常。 所以一般来讲,我们可以不需要调用这几个方法而直接认为 JoinRowSet 默认并且只允许的联合方式就是内连接(INNER JOIN)。

<<[11][12][13]

从起点,到尽头,也许快乐,或有时孤独,

Java 6 RowSet 使用完全剖析

相关文章:

你感兴趣的文章:

标签云: