概要 | パッケージ | クラス | 非推奨 API | 索引
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## woolpack.sql.tx
クラス SqlTxUtils

    java.lang.Object
      woolpack.sql.tx.SqlTxUtils

    public class SqlTxUtils

extends Object

RDBトランザクション制御のユーティリティです。

メソッドの概要
`static
`<C,R> Fn<C,R,SQLException>`
` | `commit(DataSource dataSource)` `DataSource`から`Connection`を取得して `Connection.commit()`を呼び出す関数を生成します。
`static
`<C,R> Fn<C,R,SQLException>`
` | `rollback(DataSource dataSource)` `DataSource`から`Connection`を取得して `Connection.rollback()`を呼び出す関数を生成します。
`static
`<C,R> Fn<C,R,Exception>`
` | `tx(DataSource dataSource, Fn<? super C,? extends R,? extends Exception> fn)` RDBとのトランザクションのブロックを処理する関数を生成します。

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

メソッドの詳細

### tx

    public static <C,R> Fn<C,R,Exception> tx(DataSource dataSource,
                                             Fn<? super C,? extends R,? extends Exception> fn)

  RDBとのトランザクションのブロックを処理する関数を生成します。 `TxBuilder.getTxDataSource()`と組み合わせて使用します。 `Fn.exec(Object)`は`DataSource.getConnection()`を 実行して処理を委譲先に委譲します。 委譲先から例外を受け取った場合は`Connection.rollback()`を呼び出します。 最後に`Connection.close()`を呼び出します。 このクラスのメソッドは最初に発生した例外を再スローするため、メソッド内で続けて発生した例外の情報は失われます。
  適用しているデザインパターン：トランザクションのBefore Afterをカプセル化する。

  型パラメータ:
    `C` -
    `R` -
  パラメータ:
    `dataSource` - データソース。
    `fn` - 委譲先。
  戻り値:
    関数。

### rollback

    public static <C,R> Fn<C,R,SQLException> rollback(DataSource dataSource)

  `DataSource`から`Connection`を取得して `Connection.rollback()`を呼び出す関数を生成します。 `TxBuilder.getTmpDataSource()`と組み合わせて使用します。

  型パラメータ:
    `C` -
    `R` -
  パラメータ:
    `dataSource` - データソース。
  戻り値:
    関数。

### commit

    public static <C,R> Fn<C,R,SQLException> commit(DataSource dataSource)

  `DataSource`から`Connection`を取得して `Connection.commit()`を呼び出す関数を生成します。 `TxBuilder.getTmpDataSource()`と組み合わせて使用します。

  型パラメータ:
    `C` -
    `R` -
  パラメータ:
    `dataSource` - データソース。
  戻り値:
    関数。

概要 | パッケージ | クラス | 非推奨 API | 索引
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

Copyright (C) 2006-2007 Takahiro Nakamura. All rights reserved.