org.opengion.hayabusa.db

## インタフェース Query

- 既知の実装クラスのリスト:
    AbstractQuery, Query_JDBC, Query_JDBCArrayCallable, Query_JDBCCallable, Query_JDBCErrMsg, Query_JDBCKeyEntry, Query_JDBCPLSQL, Query_JDBCPrepared, Query_JDBCTableUpdate, Query_JDBCUpdate

      public interface Query

  ステートメント文を execute() する事により,データベースを検索した結果を DBTableModel に 割り当てるインターフェースです。 実際にこのインターフェースを継承したクラスでは、データベース以外に フラットファイルやXMLデータなどを読み込んで DBTableModel を作成させる 様な実装クラスを作成することができます。
  機能分類
    データ表示, データ編集
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### メソッドの概要

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `void` | `close()` 使用した Statementオブジェクトをクロースし、Connection オブジェクトを プールに返します。
    `void` | `commit()` コミットを行います。
    `void` | `execute()` クエリーを実行します。
    `void` | `execute(int[] rowNo, DBTableModel table)` 引数配列付のクエリーを実行します。
    `void` | `execute(String[] args)` 引数配列付のクエリーを実行します。
    `void` | `execute(String[] keys, String[] args)` 引数配列付のクエリーを実行します。
    `void` | `execute(String names, String dbArrayType, DBSysArg[] sysArg, DBUserArg[] userArg)` 引数配列付のクエリーを実行します。
    `DBTableModel` | `getDBTableModel()` 実行結果の DBTableModel を返します。
    `int` | `getErrorCode()` エラーコード を取得します。
    `ErrorMessage` | `getErrorMessage()` エラーメッセージオブジェクト を取得します。
    `int` | `getExecuteCount()` クエリーの実行結果を返します。
    `int` | `getMaxRowCount()` データベースの最大検索件数を返します。
    `int` | `getSkipRowCount()` データベースの検索スキップ件数を返します。
    `String` | `getStatement()` ステートメント文字列を取り出します。
    `void` | `init()` Queryオブジェクトを初期化します。
    `boolean` | `isUpdate()` アップデートフラグを取得します。
    `void` | `realClose()` Connection オブジェクトを実際にクローズ(破棄)します。
    `void` | `rollback()` ロールバックを行います。
    `void` | `setEditConfig(DBEditConfig config)` エディット設定オブジェクトをセットします。
    `void` | `setMaxRowCount(int maxRowCount)` データベースの最大検索件数をセットします。
    `void` | `setResourceManager(ResourceManager resource)` リソースマネージャーをセットします。
    `void` | `setSkipRowCount(int skipRowCount)` データベースの検索スキップ件数をセットします。
    `void` | `setStatement(String statement)` ステートメント文字列をセットします。
    `void` | `setTransaction(String connID, Transaction tran)` Transactionオブジェクトを外部から設定します。

- - ### メソッドの詳細

    - #### init

          void init()

      Queryオブジェクトを初期化します。 これは、QueryFactory のプールから取り出すときに(または戻すとき)に 初期化するのに使用します。

    - #### setStatement

          void setStatement(String statement)

      ステートメント文字列をセットします。
      パラメータ:
        `statement` - ステートメント文字列

    - #### getStatement

          String getStatement()

      ステートメント文字列を取り出します。
      戻り値:
        ステートメント文字列

    - #### execute

          void execute()

      クエリーを実行します。 セットされているステートメント文字列とそのタイプが合っていない場合は, エラーになります。 実行結果は、DBTableModel にセットされます。

    - #### execute

          void execute(String[] args)

      引数配列付のクエリーを実行します。 処理自体は, #execute() と同様に、各サブクラスの実装に依存します。 これは、PreparedQuery で使用する引数を配列でセットするものです。 select * from emp where deptno = ? and job = ? などの PreparedQuery や { call xxxx( ?,?,? ) } などの CallableStatement の ? 部分の引数を 順番にセットしていきます。
      パラメータ:
        `args` - オブジェクトの引数配列

    - #### execute

          void execute(String[] keys,
                     String[] args)

      引数配列付のクエリーを実行します。 処理自体は, #execute() と同様に、各サブクラスの実装に依存します。 これは、PreparedQuery で使用する引数を配列でセットするものです。 select * from emp where deptno = ? and job = ? などの PreparedQuery の ? 部分の引数を 順番にセットしていきます。
      パラメータ:
        `keys` - オブジェクトのキー配列
        `args` - オブジェクトの引数配列
      変更履歴:

        4.0.0.0 (2005/01/31) 新規追加

    - #### execute

          void execute(String names,
                     String dbArrayType,
                     DBSysArg[] sysArg,
                     DBUserArg[] userArg)

      引数配列付のクエリーを実行します。 処理自体は, #execute() と同様に、各サブクラスの実装に依存します。 これは、PreparedQuery で使用する引数を配列でセットするものです。 select * from emp where deptno = ? and job = ? などの PreparedQuery の ? 部分の引数を 順番にセットしていきます。
      パラメータ:
        `names` - カラム名(CSV形式)
        `dbArrayType` - アレイタイプ名称
        `sysArg` - DBSysArg配列
        `userArg` - DBUserArg配列
      変更履歴:

        4.0.0.0 (2005/01/31) 引数をすべて受け取って実行するメソッドを標準メソッドとして追加

    - #### execute

          void execute(int[] rowNo,
                     DBTableModel table)

      引数配列付のクエリーを実行します。 処理自体は, #execute() と同様に、各サブクラスの実装に依存します。 これは、PreparedQuery で使用する引数を配列でセットするものです。 select * from emp where deptno = ? and job = ? などの PreparedQuery の [カラム名] 部分の引数を、DBTableModelから順番にセットしていきます。
      パラメータ:
        `rowNo` - 選択された行番号配列(登録する対象行)
        `table` - DBTableModelオブジェクト(登録する元データ)

    - #### commit

          void commit()

      コミットを行います。

    - #### rollback

          void rollback()

      ロールバックを行います。

    - #### close

          void close()

      使用した Statementオブジェクトをクロースし、Connection オブジェクトを プールに返します。

    - #### realClose

          void realClose()

      Connection オブジェクトを実際にクローズ(破棄)します。 プールからも削除します。 実行時エラー等が発生したときに、このメソッドを呼び出します。

    - #### getExecuteCount

          int getExecuteCount()

      クエリーの実行結果を返します。 クエリーが失敗した場合や,CallableStatement の呼び出し等で実行件数が明確でない 場合は, -1 が返されます。
      戻り値:
        クエリーの実行件数

    - #### getDBTableModel

          DBTableModel getDBTableModel()

      実行結果の DBTableModel を返します。
      戻り値:
        DBTableModelオブジェクト

    - #### getMaxRowCount

          int getMaxRowCount()

      データベースの最大検索件数を返します。 データベース自体の検索は,指定されたSQLの全件を検索しますが, DBTableModelのデータとして登録する最大件数をこの値に設定します。 サーバーのメモリ資源と応答時間の確保の為です。
      戻り値:
        最大検索件数

    - #### setMaxRowCount

          void setMaxRowCount(int maxRowCount)

      データベースの最大検索件数をセットします。 データベース自体の検索は,指定されたSQLの全件を検索しますが, DBTableModelのデータとして登録する最大件数をこの値に設定します。 サーバーのメモリ資源と応答時間の確保の為です。
      パラメータ:
        `maxRowCount` - 最大検索件数

    - #### getSkipRowCount

          int getSkipRowCount()

      データベースの検索スキップ件数を返します。 データベース自体の検索は,指定されたSQLの全件を検索しますが, DBTableModelのデータとしては、スキップ件数分は登録されません。 サーバーのメモリ資源と応答時間の確保の為です。
      戻り値:
        最大検索件数

    - #### setSkipRowCount

          void setSkipRowCount(int skipRowCount)

      データベースの検索スキップ件数をセットします。 データベース自体の検索は,指定されたSQLの全件を検索しますが, DBTableModelのデータとしては、スキップ件数分は登録されません。 サーバーのメモリ資源と応答時間の確保の為です。
      パラメータ:
        `skipRowCount` - スキップ件数

    - #### isUpdate

          boolean isUpdate()

      アップデートフラグを取得します。 これは、Query で更新処理の SQL 文を実行したときに true にセットされます。 更新処理が実行：true / 検索処理のみ：false を取得できます。
      戻り値:
        アップデートされたかどうか( 更新処理：true / 検索処理：false )
      変更履歴:

        2.1.2.3 (2002/12/02) データベース更新時に、更新フラグをセットするように変更
        4.0.0.0 (2007/07/20) メソッド名変更( getUpdateFlag() ⇒ isUpdate() )

    - #### setResourceManager

          void setResourceManager(ResourceManager resource)

      リソースマネージャーをセットします。 これは、言語(ロケール)に応じた DBColumn をあらかじめ設定しておく為に 必要です。 リソースマネージャーが設定されていない、または、所定のキーの DBColumn が リソースに存在しない場合は、内部で DBColumn オブジェクトを作成します。
      パラメータ:
        `resource` - リソースマネージャー
      変更履歴:

        4.0.0.0 (2005/01/31) lang ⇒ ResourceManager へ変更

    - #### getErrorCode

          int getErrorCode()

      エラーコード を取得します。 エラーコード は、ErrorMessage クラスで規定されているコードです。
      戻り値:
        エラーコード

    - #### getErrorMessage

          ErrorMessage getErrorMessage()

      エラーメッセージオブジェクト を取得します。
      戻り値:
        エラーメッセージオブジェクト

    - #### setTransaction

          void setTransaction(String connID,
                            Transaction tran)

      Transactionオブジェクトを外部から設定します。 通常は、ConnectionFactory を使用して、内部で Connection を作成しますが、 一連のトランザクション処理を実施するには、外部から Transactionオブジェクトを を与えて、そこから、Connection を取り出す必要があります。 ここでは、内部の connection が存在しない場合に限り、セットを許可します。
      パラメータ:
        `connID` - 接続先ID
        `tran` - Transactionオブジェクト
      変更履歴:

        5.1.9.0 (2010/08/01) 新規追加

    - #### setEditConfig

          void setEditConfig(DBEditConfig config)

      エディット設定オブジェクトをセットします。
      パラメータ:
        `config` - エディット設定オブジェクト
      変更履歴:

        5.3.6.0 (2011/06/01) 新規追加

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.