org.opengion.plugin.query

## クラス Query_JDBCPLSQL

- java.lang.Object
- - org.opengion.hayabusa.db.AbstractQuery
  - - org.opengion.plugin.query.Query_JDBCPLSQL

- すべての実装されたインタフェース:
    Query

      public class Query_JDBCPLSQL
      extends AbstractQuery

       PL/SQL をコールする 登録系 Queryクラスです。

       java.sql.CallableStatement を用いて、データベース検索処理を行います。
       引数に、SYSARG_ARRAYと、ユーザーARG_ARRAY を配列指定で渡すことが出来，
       エラー時には、DBErrMsg オブジェクトにエラー情報を格納して返すことが可能です。
       内部変数の受け渡しのデフォルト実装は、AbstractQuery クラスを継承している
       ため,ここでは、execute() メソッドを実装しています。
       このクラスでは、ステートメント文を execute() する事により,データベースを
       検索した結果を DBTableModel に割り当てます。

  形式サンプル:

         例：jsp/TYPE1B/result.jsp
             names には、GEA08ARG で定義したカラムを指定します。
             呼び出す PL/SQL では、登録系PL/SQL です。

         <og:plsqlUpdate
             command    = "{@command}"
             names      = "SYSTEM_ID,LANG,CLM,NAME_JA,LABEL_NAME,KBSAKU,FGJ,USRSET"
             dbType     = "GEA08ARG"
             queryType  = "JDBCPLSQL" >
                    { call TYPE1B01.TYPE1B01( ?,?,?,?,? ) }
         </og:plsqlUpdate>

        	PROCEDURE TYPE1B01 (
                 P_KEKKA     OUT   NUMBER,          -- エラー結果(0:正常 1:警告 2:異常)
                 P_ERRMSGS   OUT   ERR_MSG_ARRAY,   -- エラーのあるときのエラーメッセージ配列
                 P_NAMES     IN    VARCHAR2,
                 P_SYSARGS   IN    SYSARG_ARRAY,    -- 引数 SYSTEMデータ
                 P_GE08ARGS  IN    GEA08ARG_ARRAY   -- 引数 USERデータ
          );

  機能分類
    データ表示, データ編集
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### フィールドのサマリー

    - ### クラスから継承されたフィールド org.opengion.hayabusa.db.AbstractQuery

      `ARG_ARRAY, BUFFER_MIDDLE, CR, DB_MAX_QUERY_TIMEOUT, ERR_MSG, ERR_MSG_ARRAY, SYSARG_ARRAY`

  - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `Query_JDBCPLSQL()` デフォルトコンストラクター

  - ### メソッドのサマリー

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `void` | `execute(java.lang.String names, java.lang.String dbArrayType, DBSysArg[] sysArg, DBUserArg[] userArg)` 引数配列付のクエリーを実行します。

    - ### クラスから継承されたメソッド org.opengion.hayabusa.db.AbstractQuery

      `createTableModel, execute, execute, execute, getConnection, getDBTableModel, getEditConfig, getErrorCode, getErrorMessage, getExecuteCount, getMaxRowCount, getSkipRowCount, getStatement, isUpdate, setConnection, setDBTableModel, setEditConfig, setErrorCode, setErrorMessage, setExecuteCount, setMaxRowCount, setResourceManager, setSkipRowCount, setStatement, setUpdateFlag, toString, useParameterMetaData`

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### コンストラクタの詳細

    - #### Query_JDBCPLSQL

          public Query_JDBCPLSQL()

      デフォルトコンストラクター
      変更履歴:

        6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

  - ### メソッドの詳細

    - #### execute

          public void execute(java.lang.String names,
                              java.lang.String dbArrayType,
                              DBSysArg[] sysArg,
                              DBUserArg[] userArg)

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

        3.1.1.0 (2003/03/28) 同期メソッド(synchronized付き)を非同期に変更する。
        3.5.2.0 (2003/10/20) 内部オブジェクトタイプ名を システムパラメータ で定義します。
        3.5.6.0 (2004/06/18) nullに対する無駄な比較を削除します。
        3.8.0.8 (2005/10/03) エラーメッセージの出力順をメッセージ＋Queryに変更します。
        4.0.0.0 (2005/01/31) 引数をすべて受け取って実行するメソッドを標準メソッドとして追加
        6.0.0.0 (2014/04/11) Oracle11g(11.2.0.3のドライバ)対応
        6.3.6.1 (2015/08/28) close(),realClose() 廃止。Queryはキャッシュしません。
        6.4.2.1 (2016/02/05) try-with-resources 文で記述。

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