正 文

解析J2EE1.4新特性(3)-JDBC3.0的新特性


www.7dspace.com  更新日期:2006-2-11 12:09:43  七度空间


4、在事务中使用 Savepoint

也许在 JDBC 3.0 中最令人兴奋的附加特点就是 Savepoint 了。JDBC 2 中的事务支持让开发人员可以控制对数据的并发访问,从而保证持续数据总是保持一致的状态。可惜的是,有时候需要的是对事务多一点的控制,而不是在当前的事务中简单地对每一个改变进行回滚。在JDBC 3.0 下,可以通过 Savepoint 获得这种控制。Savepoint 接口允许您将事务分割为各个逻辑断点,以控制有多少事务需要回滚。下图3 将说明如何在事务中运用 Savepoint。

图3  Savepoint 的直观表示

你或许不是经常需要使用 Savepoint。然而,在一种普遍的情况下 Savepoint 会发挥作用,那就是您需要作一系列的改变,但是在知道所有的结果之前不能确定应该保留这些改变的哪一部分。下面的代码示例说明了如何使用 Savepoint 接口。

......

conn.setAutoCommit(false);

// Set a conservative transaction isolation level.

conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);

Statement stmt = conn.createStatement();

int rows = stmt.executeUpdate( "INSERT INTO authors " +

" (first_name, last_name) VALUES " +

" ('Ghq', 'Wxl')");

// Set a named savepoint.

Savepoint svpt = conn.setSavepoint("NewAuthor");

// …

rows = stmt.executeUpdate( "UPDATE authors set type = 'fiction' " +

"WHERE last_name = 'Wxl'");

// …

conn.rollback(svpt);

// …

// The author has been added, but not updated.

conn.commit();

......

5页,页码:[1] [2] [3] [4] [5] 

上一篇:解析J2EE1.4新特性(4) - EJB2.1的新特性
下一篇:解析J2EE1.4新特性(2)-Servlet 2.4的新特性
标题:解析J2EE1.4新特性(3)-JDBC3.0的新特性 作者:务实 来源:开发者在线
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐